Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Sergio10

macrumors regular
Original poster
Oct 3, 2007
137
0
Hi,

I have sorted container NSMutableSet with NSString objects. And need the oldest object which was inserted. How to to do this?

PHP:
[mySet removeLastObject];  // doesn't remove the oldest string.


Thank you.
 
First, removeLastObject: is an instance method for NSMutableArray, not NSMutableSet.

Second, you'll probably need to keep track of the "oldest" object separately and then call
Code:
[mySet removeObject:oldestObject];
 
NSSet and NSMutableSet are unordered collections, so you should probably choose some other data structure if you need to store items in order - like NSMutableArray.

The method removeLastObject will give you the last object that was added at the end of the array. If you want the "oldest" item in an array, you probably want to do something like this:

Code:
id oldest = [myMutableArray objectAtIndex:0];
[muMutableArray removeObjectAtIndex:0];

Remember to retain "oldest" if you need it to stick around - it might get dealloc'd when the array releases it.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.