【发布时间】:2011-04-06 21:15:16
【问题描述】:
我需要在 NSUserDefaults 中预先填充并保存一个数组,以便下游方法可以读取和写入存储在那里的十个值。我已经构建了这个可行的解决方案,但是有更好的方法吗?
感谢任何见解! lq
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *myArray = [[NSMutableArray alloc] init];
// Set the array with ten Zero Value placeholders
for (NSUInteger i = 0; i < 10; ++i) {
[myArray addObject:[NSNumber numberWithInt:0]];
}
[userDefaults setObject:myArray forKey:@"someKeyName"];
[myArray release];
后面的方法这样调用这个数组:
- (void)doSomethingUseful {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
NSMutableArray *someUsefulArray = [[NSMutableArray alloc] initWithArray:[userDefaults objectForKey:@"someKeyName"]];
// read some values, write some values: int someInt = [someUsefulArray objectAtIndex:3]; // etc.
// store array values back to NSUserDefaults . . .
// IS THERE A WAY TO READ AND WRITE DIRECTLY TO INDEX 3 of the NSUserDefaults array instead???
[someUsefulArray release]
}
【问题讨论】:
标签: iphone xcode nsarray nsuserdefaults