• 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: Alejandro Rodriguez <email@hidden>
  • Date: Tue, 16 Mar 2010 18:02:11 -0400

Yeah I could experiment with Method Swizzling but that is just playing dirty. I will follow your advice and just move away from this implementation into something nicer like a dictionary. After all I can always do

[dict valueForKey:[ob objectId]]; to get the same result as [set member:ob]

Thank you very much for Clark, Thomas and Jens.
Regards to all,

Alejandro Rodríguez
On Mar 16, 2010, at 5:42 PM, Clark Cox wrote:

> On Tue, Mar 16, 2010 at 2:18 PM, Alejandro Rodriguez
> <email@hidden> 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.
>
> I doubt that you can. You'll likely have to give up on the idea of
> being able to pass a string to -member:. You could implement the check
> in a method of your own in a category on NSSet.
>
>> doesn't that depend on the implementation of isEqual of the asking object in this case NSString?
>
> Yes.
>
>> 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
>>
>>
>
>
>
> --
> 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: Clark Cox <email@hidden>)

  • Prev by Date: Anyone using IKImageView?
  • Next by Date: Re: Nil items in NSMutableSet
  • Previous by thread: Re: Nil items in NSMutableSet
  • Next by thread: Re: Nil items in NSMutableSet
  • Index(es):
    • Date
    • Thread