• 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: NSCountedSet and NSString values question
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSCountedSet and NSString values question


  • Subject: Re: NSCountedSet and NSString values question
  • From: Greg Guerin <email@hidden>
  • Date: Fri, 13 Aug 2010 17:58:01 -0700

Philip Mobley wrote:

The author of the article is somewhat unsure whether using - isEqual: is safe, but after looking at the [NSString hash] documentation I feel confident in my current implementation.

That author is confused, and should consult some reference documentation. It's really quite simple. In the words of the NSObject protocol reference doc, "This method defines what it means for instances to be equal." Any concerns over the details of the implementation, or reliance upon those details, runs counter to the principles of object-oriented programming and encapsulation.



Short answer... yes. NSSet and subclasses *effectively* compares the value of the NSString and not the object address.


Cocoa Fundamentals Guide,
  Cocoa Objects section,
  Introspection sub-section,
  Object Comparison heading.

http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ CocoaFundamentals/CocoaObjects/CocoaObjects.html

It might be useful to read the whole guide if it's new to you, or read it again if you've read it before. I often find that rereading fundamentals gives new insights.

Also see the Discussion under NSString isEqualToString:

“Literal” when applied to string comparison means that various Unicode decomposition rules are not applied and Unicode characters are individually compared. So, for instance, “Ö” represented as the composed character sequence “O” and umlaut would not compare equal to “Ö” represented as one Unicode character.
-- GG



_______________________________________________

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


  • Prev by Date: Re: NSCountedSet and NSString values question
  • Next by Date: Re: Unzip class/lib
  • Previous by thread: Re: NSCountedSet and NSString values question
  • Next by thread: NSOutlineView Drop
  • Index(es):
    • Date
    • Thread