Access Objective-C property dynamically using the name of the property
I know the string name of a property of an object. How would I go about getting and setting that property using the string? While @weichsel is correct, there is a better way. Use: [anObject valueForKey: @"propertyName"]; and [anObject setValue:value forKey:@"propertyName"]; Obviously, @"propertyName" can be an NSString that is dynamically composed at runtime. This technique is called Key Value Coding and is fundamental to Cocoa. Why this is better is because -valueForKey will do what is necessary to "box" whatever type the property returns into an object. Thus, if the property is of type int ,