Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: Where is NSList?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Where is NSList?



On 28. Jul 2004, at 14:45, Tim Conkling wrote:

As much as I hate to continue this...

Hopefully I won't add further to your frustration ;)

Pandaa put it well. It's not about the semantics. It's about the implementation. Neither NSArray nor NSMutableDictionary provide the time complexities that I am looking for, though they _do_ provide all the _functionality_ I'm looking for.

NSDictionary (and more appropriate for what I think you need, NSSet) do sort of say that they are O(1) for insertions or removals -- that is, I think they say expected O(1) and worst case O(lg n) (though the CFSet/CFDictionary documentation, not the Cocoa documentation).

If your problem were, that you had one object in multiple "containers" and when deleting the object, you wanted to remove it from all of these "containers" (w/o having to do linear search in each), I think NSSet is exactly what you need. You'll also not have to let each object keep iterators to all the sets.

If you do prefer the list, notice that you can do:
std::list<MyClass*> list_of_my_objects;

Or, if you want it to retain/release properly, use a smart-pointer:
std::list< objc_ptr<MyClass*> > list_of_my_objects;
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


References: 
 >Re: Where is NSList? (From: Theodore Petrosky <email@hidden>)
 >Re: Where is NSList? (From: Tim Conkling <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.