19

I'm wondering if there's an easy way to set (or retrieve) an Objective-C property by a NSString... It is possible to use NSSelectorFromString, but I'd like an easier (and less hacky way) to do it... Something like

[object setProperty:@"propertyValue" named:@"propertyName"];

is equivalent to:

object.propertyName = @"propertyValue";

I don't really want to mess around with the @"propertyName" and turn it into a @"setPropertyName:" for the NSSelectorFromString command... I may have no other choice, but if anyone knows a better way to do this, your help would be greatly appreciated!

Peter Hosey
  • 95,783
  • 15
  • 211
  • 370
sleepy_keita
  • 1,488
  • 4
  • 17
  • 26

1 Answers1

40

Use Key-Value Coding. Your example would be [object setValue:@"propertyValue" forKey:@"propertyName"].

gog
  • 1,220
  • 11
  • 30
Kurt Revis
  • 27,695
  • 5
  • 68
  • 74