0

NSDate オブジェクトを NSMutableArray に格納し、後で取得しようとしました (経過時間を取得するため)。

可変配列の初期化と保存のために、私が試したのは次のとおりです。

.h ファイル内:

@property (nonatomic, strong) NSMutableArray *startTime;

実装 (.m) ファイル:

@synthesize startTime = _startTime;

// init the mutable array - create some temporary elements as placeholders

NSDate *temp = [NSDate date];

for (int i = 0; i < 3; i++) {
    [self.startTime addObject:temp];
}

機能していないものは次のとおりです。

[self.startTime replaceObjectAtIndex:iurl withObject:[NSDate date]]; //iurl is an NSUInteger

NSDate *now = [self.startTime objectAtIndex:iurl];

NSLog(@"Now = %@", now);

私がやりたかったのは、a) NSDate オブジェクトをインデックス (ここでは NSUInteger iurl) に保存し、b) そのオブジェクトを取得してアクセスすることだけでした。上記のコードでは、now は常に (null) です。NSDate オブジェクトを配列または変更可能な配列に格納して、後で取得できるようにするにはどうすればよいですか?

4

1 に答える 1

2

配列を実際に初期化するのを忘れたため、配列がnullになります。

self.startTime = [NSMutableArray array];日付オブジェクトを初期化する前に追加してください。

これにより、self.startTimeが空の配列として初期化され、オブジェクトを追加できるようになります。

self.startTime = [NSMutableArray array];
NSDate *temp = [NSDate date];

// Now you can add temp to self.startTime
[self.startTime addObject:temp];

// Since temp is the only object in your array so far, its index is 0.
NSDate *now = [self.startTime objectAtIndex:0];
于 2012-09-13T02:40:35.027 に答える