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

您忘记实际初始化您的数组,这就是它为空的原因。

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 回答