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して、配列の最後のオブジェクトを取得できます。

それはあなたにいくつかのキーストロークを節約するでしょう。

1行のコードで呼び出すことができるようにする場合は、すべてをの関数またはカテゴリにラップできますNSMutableArray

于 2012-06-11T19:27:23.580 に答える