• 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: Nil items in NSMutableSet
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nil items in NSMutableSet


  • Subject: Re: Nil items in NSMutableSet
  • From: Clark Cox <email@hidden>
  • Date: Tue, 16 Mar 2010 16:18:48 -0700

Doing this with a class cluster like NSString would be difficult and
especially fragile, as you'd have to make sure to do the appropriate
swizzling for every hidden subclass of NSString that might have its
own implementation of -isEqual:; including those that may be
introduced (or removed) in updates to the OS.

On Tue, Mar 16, 2010 at 3:34 PM, Daniel DeCovnick <email@hidden> wrote:
> There was a thread on this list a few days ago about effective method
> swizzling into Apple classes. Despite being replete with warnings about
> "Don't use it in production code," it IS doable, and very, very cool, IMHO.
>
> -Dan
>
> On Mar 16, 2010, at 2:18 PM, Alejandro Rodriguez wrote:
>
>> You were right, my equality is not transitive.
>>
>> id ob = [[objectClass alloc] initWithId:@"hello"];
>> [ob isEqual:@"hello"]; //returns YES
>> [@"hello" isEqual:ob]; //returns NO
>>
>> That may very well be the problem... now... I have no idea on how I will
>> make the second test return YES.
>>
>> doesn't that depend on the implementation of isEqual of the asking object
>> in this case NSString? Have any of you had to deal with this before? I'll
>> dive into the docs and see what details I find that might be useful.
>>
>> Seems we are getting somewhere
>> cheers!
>>
>> Alejandro
>>
>> On Mar 16, 2010, at 2:45 PM, Clark Cox wrote:
>>
>>> On Tue, Mar 16, 2010 at 11:35 AM, Thomas Davie <email@hidden>
>>> wrote:
>>>>>
>>>>> Your code doesn't account for the possibility that the order of
>>>>> comparison might happen in the other order (i.e. [@"123" isEqual:
>>>>> object]). I wouldn't be surprised if NSSet is assuming that equality
>>>>> is transitive (i.e. [a isEqual: b] == [b isEqual: a]).
>>>>
>>>> For reference, this property is not transitivity, the transitivity
>>>> relation is:
>>>>
>>>> a -> b ^ b -> c => a -> c (for some relation ->)
>>>>
>>>> The one you're looking for is commutativity.
>>>
>>> Indeed; must have been echos of my previous life as a C++ programmer
>>> creeping into the Obj-C part of my brain (in C++, the std::set class
>>> uses less than, instead of equality, where transitivity is the
>>> important property, not commutativity).
>>>
>>> :)
>>>
>>>
>>>
>>> --
>>> Clark S. Cox III
>>> email@hidden
>>
>> _______________________________________________
>>
>> 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
>
>



--
Clark S. Cox III
email@hidden
_______________________________________________

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: 
 >Nil items in NSMutableSet (From: Alejandro Rodriguez <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Clark Cox <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Alejandro Rodriguez <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Clark Cox <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Thomas Davie <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Clark Cox <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Alejandro Rodriguez <email@hidden>)
 >Re: Nil items in NSMutableSet (From: Daniel DeCovnick <email@hidden>)

  • Prev by Date: Re: Cocoa Newbie Thread/Memory Problems
  • Next by Date: Re: Cut and paste out of/ into text fields in a separate window doesn't work
  • Previous by thread: Re: Nil items in NSMutableSet
  • Next by thread: Re: Nil items in NSMutableSet
  • Index(es):
    • Date
    • Thread