Le 10 avr. 2012 à 23:40, Greg Parker a écrit : > On Apr 10, 2012, at 1:49 PM, Rick Mann <rm...@latencyzero.com> wrote: >> Are there functions provided in the Objective-C runtime to convert property >> names? For example, say I have a key name like "fooKey", and I want to get >> "FooKey", or the setter name "setFooKey" from it. I could do the name >> munging myself, but I wonder if there aren't edge cases. For example, >> "setURL" should covert to "URL", not "uRL". >> >> In my particular case, I'm trying to implement functionality like >> +keyPathsForValuesAffecting<Key>. It takes a key name (usually something >> that starts with a lower-case letter) and changes it to start with an >> upper-case letter, then appends it to "keyPathsForValuesAffecting" to create >> the selector name. >> >> Are those conversion methods provided anywhere? I looked through the Obj-C >> runtime and didn't see anything, but I didn't read every single page. > > The code to derive the default setter and getter method names from a property > name is in the compiler somewhere. > > The runtime can tell you the setter and getter and ivar names for a > particular class's property, but knows nothing about key paths or name to > name conversion. >
Note that @property do no have the same naming convention than KVC. For instance, if you declare the foo getter -isFoo that returns a BOOL value, it is valid to access it using -valueForKey:@"foo", but it will not work if you try to get it using the property's dot syntax. -- Jean-Daniel _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com