• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: NSDictionary mutability test
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSDictionary mutability test


  • Subject: Re: NSDictionary mutability test
  • From: Mike Abdullah <email@hidden>
  • Date: Mon, 8 Dec 2008 17:28:15 +0000


On 8 Dec 2008, at 17:15, email@hidden wrote:

There are a number of posts detailing with the ethics of the issue of determining an object's mutability.
eg: http://www.cocoabuilder.com/archive/message/cocoa/2004/7/7/111173
Does anyone have a current informed pragmatic opinion on how to deal with the following example?


I am not trying to determine program flow by determining mutability, merely trying to limit the number of self inflicted injuries.
The following never seems to assert, regardless of whether dict is mutable or not.


NSAssert([dict isKindOfClass:[NSMutableDictionary class]], @"dict is not mutable");

I know that it is my responsibility to remain aware of an object's allocated class but sometimes I find myself wanting.

This is because NSDictionary is a class cluster. What happens behind the scenes is that Cocoa has a hierarchy of:


NSCFDictionary : NSMutableDictionary : NSDictionary

You are being handed an NSCFDictionary object which Cocoa has set up to be immutable internally. Try to use one of the mutable methods and it will throw an exception, but testing the class inheritance will suggest it is mutable.

Mike.

_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:
This email sent to email@hidden


References: 
 >NSDictionary mutability test (From: "email@hidden" <email@hidden>)

  • Prev by Date: Re: Sheet opens but not attached to window
  • Next by Date: Re: NSDictionary mutability test
  • Previous by thread: NSDictionary mutability test
  • Next by thread: Re: NSDictionary mutability test
  • Index(es):
    • Date
    • Thread