如何使用 WritetoFile 将值存储在 NSArray 中?

发布于 2024-07-29 19:45:25 字数 44 浏览 10 评论 0原文

我想使用 NSArray 存储表中选定单元格的索引,你能帮我吗......

i wana store the index of seleted cell of table using NSArray, can u help me....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅刃 2024-08-05 19:45:25

您可以使用用户默认值或 属性列表为此。

用户默认值的示例。 你有一个控制器类,它可以访问索引,并在启动时加载它,并在更新时将其写入 plist 中:

如果你有某种控制器类,那么你可以将此代码放入 + (void)initialize< /code>,如果 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];
}

You can use user defaults or property list for this.

Example on user defaults. You have a controller class that has access to the index and will load it at startup and write it into plist whenever it's updated:

If you have some kind of controller class then you would put this code into + (void)initialize, it initialises the variable if it does not exists in plist:

+ (void)initialize
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSDictionary *appDefaults =
              [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5]
                                          forKey:@"MyFunnyIndex"];
    [defaults registerDefaults:appDefaults];
}

In your -(void)awakeFromNib (I'm assuming you're using some kind of controller class) load your last stored value:

-(void)awakeFromNib
{
    int index = 
           [[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"];
           [somethingThatNeedsIndex setIndex:index];
    // ...
}

Somewhere where the index is updated (or where you want to write it to plist), let's call it - (void)updateInterface:

- (void)updateInterface
{
    [[NSUserDefaults standardUserDefaults]
                     setObject:[NSNumber numberWithInteger:index]
                        forKey:@"MyFunnyIndex"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
萤火眠眠 2024-08-05 19:45:25

我不知道我是否正确理解了这个问题,但听起来您可以使用属性列表来存储此信息。 属性列表非常易于使用,并且对于少量数据来说非常高效。

阅读“属性列表编程指南”以获得进一步的解释。 里面甚至还有教程。

I don't know if I understand the question correctly, but it sounds like you could use a property list to store this information. Property lists are very easy to use and quite efficient with small amounts of data.

Read the "Property List Programming Guide" for further explanation. There is even a tutorial in there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文