On Oct 16, 2011, at 1:58 AM, Gerriet M. Denkmann wrote: > I have this code: > > for( id aThing in someArray ) > { > if ( [ aThing respondsToSelector: @selector(setTitle:) ] ) > { > [ self replaceIn: aThing > readSelector: @selector(title) > writeSelector: @selector(setTitle:) > withTable: tableName > ]; > } > } > > > - (void)replaceIn: thing readSelector: (SEL)selectorIn writeSelector: > (SEL)selectorOut withTable: (NSString *)tableName; > { > NSString *key = [ thing performSelector: selectorIn ]; > ... > NSString *rep = ... > [ thing performSelector: selectorOut withObject: rep ]; > } > > Now, using Arc I am told that "PerformSelector may cause a leak because its > selector is unknown". > What I am supposed to do about this? I really want to have code without > warnings.
Based on your samples, why not change this to just use KVC instead? for (id aThing in someArray) if ([aThing respondsToSelector: @selector(setTitle:)]) { // too bad there isn't a cleaner way to ask [aThing hasKey: @"title"] [ self replaceIn: aThing key: @"title" withTable: tableName ]; } } - (void) replaceIn: (id) thing key: (NSString *) ivarKey withTable: (NSString *) tableName { NSString *key = [thing valueForKey: ivarKey]; ... NSString *rep = ... ... [ thing setValue: rep forKey: ivarKey]; } Glenn Andreas gandr...@gandreas.com The most merciful thing in the world ... is the inability of the human mind to correlate all its contents - HPL _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com