On Jan 14, 2011, at 7:57 AM, Roland King wrote: > Again let me say that if the signature to your method is > > -(void)doSomethingWithADictionary:(NSDictionary*)dictionary; > > you shouldn't be trying to figure out whether that dictionary is mutable and > mutate it.
Yup. > If you want it to be otherwise make the signature > > > -(void)doSomethingWithADictionaryICanReallyMessUpForYou:(NSMutableDictionary*)dictionary > > and make all the callers send mutable objects they know they don't need later > and which they are forewarned you may be messing about with. I suggest letting the caller tell you what kind of dictionary it is sending. Have two different methods: -(void)doSomethingWithADictionary:(NSDictionary*)dictionary; -(void)doSomethingWithAMutableDictionary:(NSMutableDictionary*)dictionary; Have each of these call a private method that does the real work: -(void)_privatelyDoSomethingWithAPossiblyMutableDictionary:(id)dictionary mutable:(BOOL)isMutable; Instead of trying to test the dictionary object for mutability (which won't work), simply check isMutable. --Andy _______________________________________________ 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