如果我想从我的NSMutableArray
中弹出最后一项,那么这是最合适的方法吗?
id theObject = [myMutableArray objectAtIndex:myMutableArray.count-1];
[myMutableArray removeLastObject];
我确信来自SOF的人有更好的方法。
答案 0 :(得分:12)
保留,删除,使用,释放。
id theObject = [[myMutableArray lastObject] retain];
[myMutableArray removeLastObject];
//use theObject....
[theObject release];
答案 1 :(得分:6)
NSMutableArray
没有弹出等价物,但我想你可以轻松地为它添加一个类别以进行弹出。也许是这样的事情:
<强>的NSMutableArray + Queue.h 强>
@interface NSMutableArray (Queue)
-(id)pop;
@end
<强>的NSMutableArray + Queue.m 强>
#import "NSMutableArray+Queue.h"
@implementation NSMutableArray (Queue)
-(id)pop{
id obj = [[[self lastObject] retain] autorelease];
[self removeLastObject];
return obj;
}
@end
然后导入它并像这样使用它:
#import "NSMutableArray+Queue.h"
...
id lastOne = [myArray pop];
答案 2 :(得分:1)
您可以使用lastObject
获取数组中的最后一个对象。
这样可以省去一些按键。
如果您希望能够使用一行代码调用它,则可以将其全部包含在NSMutableArray
上的函数或类别中。