5

如果我想从我的最后一个项目中弹出,NSMutableArray这是最合适的方法吗?

id theObject = [myMutableArray objectAtIndex:myMutableArray.count-1];
[myMutableArray removeLastObject];

我敢肯定 SOF 的某个人有更好的方法。

4

3 回答 3

13

保留它,删除它,使用它,释放它。

id theObject = [[myMutableArray lastObject] retain];
[myMutableArray removeLastObject];
//use theObject....
[theObject release];
于 2012-06-11T19:29:05.140 回答
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];
于 2012-06-11T19:35:36.487 回答
0

您可以使用lastObject来获取数组中的最后一个对象。

这将为您节省一些击键。

如果您希望能够用一行代码调用它,您可以将它全部包装在一个函数或一个类别中NSMutableArray

于 2012-06-11T19:27:23.580 回答