gpt4 book ai didi

objective-c - 如何从 didSelectRowAtIndexPath : to NSUserDefaults 保存项目

转载 作者:行者123 更新时间:2023-11-28 20:27:33 24 4
gpt4 key购买 nike

我正在尝试将所选 TableView 行的单元格标题保存到 NSUserDefaults。我在 didSelectRowAtIndexPath: 方法中有以下代码。目前这会保存整个 listOfItems(一个 NSMutableArray)。我希望能够保存和检索用户在表行中选择的 listOfItems 数组对象。

谢谢你的帮助

这是在viewDidLoad中初始化的NSMutableArray:

listOfItems = [[NSMutableArray alloc] init];

[listOfItems addObject:@"Brazil"];
[listOfItems addObject:@"Italy"];
[listOfItems addObject:@"Spain"];
[listOfItems addObject:@"United Kingdom"];
[listOfItems addObject:@"United States"];

didSelectRowAtIndexPath: 方法

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

NSMutableData *data = [NSMutableData data];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
// Customize archiver here
[archiver encodeObject:listOfItems forKey:@"keyForYourArrayOfNSIndexPathObjects"];
[archiver finishEncoding];
[[NSUserDefaults standardUserDefaults] setObject:data forKey:@"keyForYourArrayOfNSIndexPathObjects"];


NSKeyedUnarchiver *unarchiver;
unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:
[[NSUserDefaults standardUserDefaults] objectForKey:@"keyForYourArrayOfNSIndexPathObjects"]];
// Customize unarchiver here
listOfItems2 = [unarchiver decodeObjectForKey:@"keyForYourArrayOfNSIndexPathObjects"];
[unarchiver finishDecoding];

NSLog(@"from the list of items: %@", listOfItems2[2]);
}

NSLog 输出是:“来自项目列表:西类牙”

最佳答案

在您的 didSelectRowAtIndexPath 中,您应该执行以下操作

int index = indexPath.row;
id obj = [listOfItems objectAtIndex:index];

然后按你需要的方式保存到用户默认值

关于objective-c - 如何从 didSelectRowAtIndexPath : to NSUserDefaults 保存项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com