The value that needs to be set/updated for an attribute. If the length of the value
exceeds the maximum allowed, the value will be truncated to the maximum allowed.
attribute
The name of the attribute. If the length of the value exceeds the maximum
allowed, the value will be truncated to the maximum allowed.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-11 UTC."],[],[],null,["# FirebasePerformance Framework Reference\n\nPerformanceAttributable\n=======================\n\n protocol PerformanceAttributable : NSObjectProtocol\n\nDefines the interface that allows adding/removing attributes to any object.\n- `\n ``\n ``\n `\n\n ### [attributes](#/c:objc(pl)FIRPerformanceAttributable(py)attributes)\n\n `\n ` \n List of attributes. \n\n #### Declaration\n\n Swift \n\n var attributes: [String : String] { get }\n\n- `\n ``\n ``\n `\n\n ### [setValue(_:forAttribute:)](#/c:objc(pl)FIRPerformanceAttributable(im)setValue:forAttribute:)\n\n `\n ` \n Sets a value as a string for the specified attribute. Updates the value of the attribute if a\n value had already existed. \n\n #### Declaration\n\n Swift \n\n func setValue(_ value: String, forAttribute attribute: String)\n\n #### Parameters\n\n |-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | ` `*value*` ` | The value that needs to be set/updated for an attribute. If the length of the value exceeds the maximum allowed, the value will be truncated to the maximum allowed. |\n | ` `*attribute*` ` | The name of the attribute. If the length of the value exceeds the maximum allowed, the value will be truncated to the maximum allowed. |\n\n- `\n ``\n ``\n `\n\n ### [value(forAttribute:)](#/c:objc(pl)FIRPerformanceAttributable(im)valueForAttribute:)\n\n `\n ` \n Reads the value for the specified attribute. If the attribute does not exist, returns nil. \n\n #### Declaration\n\n Swift \n\n func value(forAttribute attribute: String) -\u003e String?\n\n #### Parameters\n\n |-------------------|----------------------------|\n | ` `*attribute*` ` | The name of the attribute. |\n\n #### Return Value\n\n The value for the attribute. Returns nil if the attribute does not exist.\n- `\n ``\n ``\n `\n\n ### [removeAttribute(_:)](#/c:objc(pl)FIRPerformanceAttributable(im)removeAttribute:)\n\n `\n ` \n Removes an attribute from the list. Does nothing if the attribute does not exist. \n\n #### Declaration\n\n Swift \n\n func removeAttribute(_ attribute: String)\n\n #### Parameters\n\n |-------------------|----------------------------|\n | ` `*attribute*` ` | The name of the attribute. |"]]