【发布时间】:2009-08-06 09:16:22
【问题描述】:
我想使用 NSArray 存储表格中选定单元格的索引,你能帮帮我吗....
【问题讨论】:
-
如何存储?将其存储在磁盘上的文件中还是存储在内存中?
-
在磁盘上,当我重新加载该应用程序时,我可以获得该存储值。我想存储所选表格单元格的索引。
标签: iphone objective-c nsuserdefaults property-list
我想使用 NSArray 存储表格中选定单元格的索引,你能帮帮我吗....
【问题讨论】:
标签: iphone objective-c nsuserdefaults property-list
您可以为此使用用户默认值或property list。
用户默认设置示例。你有一个可以访问索引的控制器类,它会在启动时加载它,并在更新时将其写入 plist:
如果您有某种控制器类,那么您可以将此代码放入+ (void)initialize,如果 plist 中不存在该变量,它将对其进行初始化:
+ (void)initialize
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults =
[NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5]
forKey:@"MyFunnyIndex"];
[defaults registerDefaults:appDefaults];
}
在您的-(void)awakeFromNib(我假设您正在使用某种控制器类)中加载您最后存储的值:
-(void)awakeFromNib
{
int index =
[[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"];
[somethingThatNeedsIndex setIndex:index];
// ...
}
索引更新的地方(或者你想写到plist的地方),我们称之为- (void)updateInterface:
- (void)updateInterface
{
[[NSUserDefaults standardUserDefaults]
setObject:[NSNumber numberWithInteger:index]
forKey:@"MyFunnyIndex"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
【讨论】:
我不知道我是否正确理解了这个问题,但听起来您可以使用属性列表来存储此信息。属性列表非常易于使用,并且在处理少量数据时非常高效。
阅读“Property List Programming Guide”以获得进一步的解释。里面甚至还有教程。
【讨论】: