• 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: "email@hidden" <email@hidden>
  • Date: Mon, 8 Dec 2008 20:19:25 +0000


On 8 Dec 2008, at 19:05, I. Savant wrote:


I was using this assertion (written some time ago in ignorance) and wasted
an afternoon tracking down the fact that it didn't work.

It does "work" - it does the job it's designed to do.

I'll join the fray on this one. :-) I agree with you, Sherm, to a point. It works (does what it's designed to do), but because of the special case of class clusters, it'd be handy in some cases to be able to ask an object if it -isMutable.
Absolutely.


Maybe the only solution is to set up an exception handler.

No, the solution is to not try to test for mutability. Such tests don't work
because they're not *supposed* to work - code that tries to do such things
is broken as designed. And no, it's not an "ethical" issue. Writing broken
code isn't a question of good and evil, it's simply a question of what works
and doesn't work.

This is the most salient point. Either you (the developer) created the dictionary or it was handed to you. If you created it, you should know whether it is mutable. If you did not, the documentation (if it exists) and the method signature should tell you all you need to know. The only thing you could consider "broken" is if the method promises an immutable object but gives you a mutable one (or vice-versa).

 If there's ever an ambiguous situation and you need to enforce one
or the other, make a -copy or -mutableCopy of the object to be sure,
and rid yourself of the worry.


This is all fine and dandy but the original post makes it clear that the mutability test is being applied in an NSAssert().
We are testing for broken promises and faulty assumptions.


Jonathan Mitchell

Central Conscious Unit
http://www.mugginsoft.com




_______________________________________________

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>)
 >Re: NSDictionary mutability test (From: "email@hidden" <email@hidden>)
 >Re: NSDictionary mutability test (From: Sherm Pendley <email@hidden>)
 >Re: NSDictionary mutability test (From: "I. Savant" <email@hidden>)

  • Prev by Date: Re: NSDictionary mutability test
  • Next by Date: Re: NSDictionary mutability test
  • Previous by thread: Re: NSDictionary mutability test
  • Next by thread: Re: NSDictionary mutability test
  • Index(es):
    • Date
    • Thread