ApptimizeVariable
@interface ApptimizeVariable : NSObject
This interface is used to create and retrieve dynamic variables for both experiments and Feature Variables.
The factory methods are used to create and register dynamic variables with the SDK. As they need to be declared prior
to setting up an experiment, they should be called as early as possible during app execution, such as in
didFinishLaunchingWithOptions
.
All the factory methods return a reference to the created dynamic variable.
As dynamic variables are expected to be declared ahead of time during app startup, getters are provided to retrieve those dynamic variables at time of use.
-
Create a string dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableString *_Nullable)stringWithName:(NSString *_Nonnull)name andDefaultString: (NSString *_Nonnull)defaultString;
Swift
class func makeString(name: String, defaultString: String) -> ApptimizeVariableString?
Parameters
name
The name of the dynamic variable to create.
defaultString
The default NSString for this dynamic variable.
Return Value
Returns a new ApptimizeVariableString if no variable has been created before with this name. If an ApptimizeVariableString already exists with this name it returns the existing string variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a bool dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableBool *_Nullable)boolWithName:(NSString *_Nonnull)name andDefaultBool:(BOOL)defaultBool;
Swift
class func makeBool(name: String, defaultBool: Bool) -> ApptimizeVariableBool?
Parameters
name
The name of the dynamic variable to create.
defaultBool
The default BOOL for this dynamic variable.
Return Value
Returns a new ApptimizeVariableBool if no variable has been created before with this name. If an ApptimizeVariableBool already exists with this name it returns the existing bool variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a bool dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableBool *_Nullable)boolWithName:(NSString *_Nonnull)name andDefaultNumber: (NSNumber *_Nonnull)defaultNumber;
Swift
class func makeBool(name: String, defaultNumber: NSNumber) -> ApptimizeVariableBool?
Parameters
name
The name of the dynamic variable to create.
defaultNumber
The default NSNumber (containing a BOOL) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableBool if no variable has been created before with this name. If an ApptimizeVariableBool already exists with this name it returns the existing bool variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create an integer dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableInteger *_Nullable)integerWithName:(NSString *_Nonnull)name andDefaultInteger: (NSInteger)defaultInteger;
Swift
class func makeInteger(name: String, defaultInteger: Int) -> ApptimizeVariableInteger?
Parameters
name
The name of the dynamic variable to create.
defaultInteger
The default NSInteger for this dynamic variable.
Return Value
Returns a new ApptimizeVariableInteger if no variable has been created before with this name. If an ApptimizeVariableInteger already exists with this name it returns the existing integer variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create an integer dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableInteger *_Nullable)integerWithName:(NSString *_Nonnull)name andDefaultUnsignedInteger: (NSUInteger)defaultUnsignedInteger;
Swift
class func makeInteger(name: String, defaultUnsignedInteger: UInt) -> ApptimizeVariableInteger?
Parameters
name
The name of the dynamic variable to create.
defaultUnsignedInteger
The default NSUInteger for this dynamic variable.
Return Value
Returns a new ApptimizeVariableInteger if no variable has been created before with this name. If an ApptimizeVariableInteger already exists with this name it returns the existing integer variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create an integer dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableInteger *_Nullable)integerWithName:(NSString *_Nonnull)name andDefaultNumber: (NSNumber *_Nonnull)defaultNumber;
Swift
class func makeInteger(name: String, defaultNumber: NSNumber) -> ApptimizeVariableInteger?
Parameters
name
The name of the dynamic variable to create.
defaultNumber
The default NSNumber (containing an NSInteger or NSUInteger) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableInteger if no variable has been created before with this name. If an ApptimizeVariableInteger already exists with this name it returns the existing integer variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a double dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDouble *_Nullable)doubleWithName:(NSString *_Nonnull)name andDefaultDouble:(double)defaultDouble;
Swift
class func makeDouble(name: String, defaultDouble: Double) -> ApptimizeVariableDouble?
Parameters
name
The name of the dynamic variable to create.
defaultDouble
The default double for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDouble if no variable has been created before with this name. If an ApptimizeVariableDouble already exists with this name it returns the existing double variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a double dynamic variable with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDouble *_Nullable)doubleWithName:(NSString *_Nonnull)name andDefaultNumber: (NSNumber *_Nonnull)defaultNumber;
Swift
class func makeDouble(name: String, defaultNumber: NSNumber) -> ApptimizeVariableDouble?
Parameters
name
The name of the dynamic variable to create.
defaultNumber
The default NSNumber (containing a double) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDouble if no variable has been created before with this name. If an ApptimizeVariableDouble already exists with this name it returns the existing double variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an array containing strings with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableArray<NSString *> *_Nullable) stringArrayWithName:(NSString *_Nonnull)name andDefaultArray:(NSArray<NSString *> *_Nonnull)defaultStringArray;
Swift
class func makeStringArray(name: String, defaultStringArray: [String]) -> ApptimizeVariableArray<NSString>?
Parameters
name
The name of the dynamic variable to create.
defaultStringArray
The default NSArray (containing NSStrings) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableArray if no variable has been created before with this name. If an ApptimizeVariableArray containing strings already exists with this name it returns the existing string array variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an array containing bools with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable) boolArrayWithName:(NSString *_Nonnull)name andDefaultArray:(NSArray<NSNumber *> *_Nonnull)defaultBoolArray;
Swift
class func makeBoolArray(name: String, defaultBoolArray: [NSNumber]) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultBoolArray
The default NSArray (containing NSNumbers of BOOLs) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableArray if no variable has been created before with this name. If an ApptimizeVariableArray containing bools already exists with this name it returns the existing bool array variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an array containing integers with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable) integerArrayWithName:(NSString *_Nonnull)name andDefaultArray:(NSArray<NSNumber *> *_Nonnull)defaultIntegerArray;
Swift
class func makeIntegerArray(name: String, defaultIntegerArray: [NSNumber]) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultIntegerArray
The default NSArray (containing NSNumbers of integers) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableArray if no variable has been created before with this name. If an ApptimizeVariableArray containing integers already exists with this name it returns the existing integer array variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an array containing doubles with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable) doubleArrayWithName:(NSString *_Nonnull)name andDefaultArray:(NSArray<NSNumber *> *_Nonnull)defaultDoubleArray;
Swift
class func makeDoubleArray(name: String, defaultDoubleArray: [NSNumber]) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultDoubleArray
The default NSArray (containing NSNumbers of doubles) for this dynamic variable.
Return Value
Returns a new ApptimizeVariableArray if no variable has been created before with this name. If an ApptimizeVariableArray containing doubles already exists with this name it returns the existing double array variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an dictionary with key/value pairs of string/string with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSString *> *_Nullable) stringDictionaryWithName:(NSString *_Nonnull)name andDefaultDictionary:(NSDictionary<NSString *, NSString *> *_Nonnull) defaultStringDictionary;
Swift
class func makeStringDictionary(name: String, defaultStringDictionary: [String : String]) -> ApptimizeVariableDictionary<NSString>?
Parameters
name
The name of the dynamic variable to create.
defaultStringDictionary
The default NSDictionary of NSStrings keyed with NSStrings for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDictionary if no variable has been created before with this name. If an ApptimizeVariableDictionary containing strings already exists with this name it returns the existing string dictionary variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an dictionary with key/value pairs of string/bool with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable) boolDictionaryWithName:(NSString *_Nonnull)name andDefaultDictionary: (NSDictionary<NSString *, NSNumber *> *_Nonnull)defaultBoolDictionary;
Swift
class func makeBoolDictionary(name: String, defaultBoolDictionary: [String : NSNumber]) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultBoolDictionary
The default NSDictionary of NSNumbers (containing BOOLs) keyed with NSStrings for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDictionary if no variable has been created before with this name. If an ApptimizeVariableDictionary containing bools already exists with this name it returns the existing bool dictionary variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an dictionary with key/value pairs of string/integer with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable) integerDictionaryWithName:(NSString *_Nonnull)name andDefaultDictionary:(NSDictionary<NSString *, NSNumber *> *_Nonnull) defaultIntegerDictionary;
Swift
class func makeIntegerDictionary(name: String, defaultIntegerDictionary: [String : NSNumber]) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultIntegerDictionary
The default NSDictionary of NSNumbers (containing integers) keyed with NSStrings for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDictionary if no variable has been created before with this name. If an ApptimizeVariableDictionary containing integers already exists with this name it returns the existing integer dictionary variable but does not update the default value.
Returns nil if a variable of another type already exists with this name. -
Create a dynamic variable of an dictionary with key/value pairs of string/double with a specified name and default value.
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable) doubleDictionaryWithName:(NSString *_Nonnull)name andDefaultDictionary:(NSDictionary<NSString *, NSNumber *> *_Nonnull) defaultDoubleDictionary;
Swift
class func makeDoubleDictionary(name: String, defaultDoubleDictionary: [String : NSNumber]) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to create.
defaultDoubleDictionary
The default NSDictionary of NSNumbers (containing doubles) keyed with NSStrings for this dynamic variable.
Return Value
Returns a new ApptimizeVariableDictionary if no variable has been created before with this name. If an ApptimizeVariableDictionary containing doubles already exists with this name it returns the existing double dictionary variable but does not update the default value.
Returns nil if a variable of another type already exists with this name.
-
Retrieve a string dynamic variable that has already been declared.
Declaration
Objective-C
+ (ApptimizeVariableString *_Nullable)getStringForName:(NSString *_Nonnull)name;
Swift
class func getString(name: String) -> ApptimizeVariableString?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableString if one has already been created with the specified name.
Returns nil if no such variable exists with this name. -
Retrieve a bool dynamic variable that has already been declared.
Declaration
Objective-C
+ (ApptimizeVariableBool *_Nullable)getBoolForName:(NSString *_Nonnull)name;
Swift
class func getBool(name: String) -> ApptimizeVariableBool?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableBool if one has already been created with the specified name.
Returns nil if no such variable exists with this name. -
Retrieve an integer dynamic variable that has already been declared.
Declaration
Objective-C
+ (ApptimizeVariableInteger *_Nullable)getIntegerForName: (NSString *_Nonnull)name;
Swift
class func getInteger(name: String) -> ApptimizeVariableInteger?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableInteger if one has already been created with the specified name.
Returns nil if no such variable exists with this name. -
Retrieve a double dynamic variable that has already been declared.
Declaration
Objective-C
+ (ApptimizeVariableDouble *_Nullable)getDoubleForName:(NSString *_Nonnull)name;
Swift
class func getDouble(name: String) -> ApptimizeVariableDouble?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableDouble if one has already been created with the specified name.
Returns nil if no such variable exists with this name. -
Retrieve a string array dynamic variable that has already been declared.
See
+[ApptimizeVariable stringArrayWithName:andDefaultStringArray:]
Declaration
Objective-C
+ (ApptimizeVariableArray<NSString *> *_Nullable)getStringArrayForName: (NSString *_Nonnull)name;
Swift
class func getStringArray(name: String) -> ApptimizeVariableArray<NSString>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableArray if one has already been created with the specified name which contains strings.
Returns nil if no such variable exists with this name. -
Retrieve a bool array dynamic variable that has already been declared.
See
+[ApptimizeVariable boolArrayWithName:andDefaultBoolArray:]
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable)getBoolArrayForName: (NSString *_Nonnull)name;
Swift
class func getBoolArray(name: String) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableArray if one has already been created with the specified name which contains bools.
Returns nil if no such variable exists with this name. -
Retrieve a integer array dynamic variable that has already been declared.
See
+[ApptimizeVariable integerArrayWithName:andDefaultIntegerArray:]
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable)getIntegerArrayForName: (NSString *_Nonnull)name;
Swift
class func getIntegerArray(name: String) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableArray if one has already been created with the specified name which contains integers.
Returns nil if no such variable exists with this name. -
Retrieve a double array dynamic variable that has already been declared.
See
+[ApptimizeVariable doubleArrayWithName:andDefaultDoubleArray:]
Declaration
Objective-C
+ (ApptimizeVariableArray<NSNumber *> *_Nullable)getDoubleArrayForName: (NSString *_Nonnull)name;
Swift
class func getDoubleArray(name: String) -> ApptimizeVariableArray<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableArray if one has already been created with the specified name which contains doubles.
Returns nil if no such variable exists with this name. -
Retrieve a string dictionary dynamic variable that has already been declared.
See
+[ApptimizeVariable stringDictionaryWithName:andDefaultStringDictionary:]
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSString *> *_Nullable) getStringDictionaryForName:(NSString *_Nonnull)name;
Swift
class func getStringDictionary(name: String) -> ApptimizeVariableDictionary<NSString>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableDictionary if one has already been created with the specified name which contains strings.
Returns nil if no such variable exists with this name. -
Retrieve a bool dictionary dynamic variable that has already been declared.
See
+[ApptimizeVariable boolDictionaryWithName:andDefaultBoolDictionary:]
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable)getBoolDictionaryForName: (NSString *_Nonnull)name;
Swift
class func getBoolDictionary(name: String) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableDictionary if one has already been created with the specified name which contains bools.
Returns nil if no such variable exists with this name. -
Retrieve an integer dictionary dynamic variable that has already been declared.
See
+[ApptimizeVariable integerDictionaryWithName:andDefaultIntegerDictionary:]
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable) getIntegerDictionaryForName:(NSString *_Nonnull)name;
Swift
class func getIntegerDictionary(name: String) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableDictionary if one has already been created with the specified name which contains integers.
Returns nil if no such variable exists with this name. -
Retrieve a double dictionary dynamic variable that has already been declared.
See
+[ApptimizeVariable doubleDictionaryWithName:andDefaultDoubleDictionary:]
Declaration
Objective-C
+ (ApptimizeVariableDictionary<NSNumber *> *_Nullable) getDoubleDictionaryForName:(NSString *_Nonnull)name;
Swift
class func getDoubleDictionary(name: String) -> ApptimizeVariableDictionary<NSNumber>?
Parameters
name
The name of the dynamic variable to retrieve.
Return Value
Returns an ApptimizeVariableDictionary if one has already been created with the specified name which contains doubles.
Returns nil if no such variable exists with this name.