Thats a very interesting take on the problem. I'm going to look into that. Make sure that isEqual: returns the same both ways. Thanks and I'll let you know how it goes. I can't really reproduce the issue so I won't know if it's fixe but at least I'll test the commutativity of the comparison.
Cheers, Alejandro On Mar 16, 2010, at 2:45 PM, Clark Cox wrote: > On Tue, Mar 16, 2010 at 11:35 AM, Thomas Davie <tom.da...@gmail.com> 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 > clarkc...@gmail.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com