gpt4 book ai didi

ios - 从现有的 plist 创建一个新的 plist?

转载 作者:行者123 更新时间:2023-11-29 13:09:35 27 4
gpt4 key购买 nike

我有一个如下图所示的 plist,那是我的主要 plist,其中 “bid” 字段是唯一的。我有出值(value) (例如 bid=90) 然后我需要在我的主(第一张图片)plist 的所有条目中搜索该值 并创建一个新的 plist 并检索相应的值(bid,description,category,rating) 属于那个 plist。我该怎么做?

编辑

如果我有多个值,比如 bid =88 和另一个 bid=90 那么我必须从主 plist 创建一个新的 plist(如第一张图片所示) 那么结果应该是喜欢图3

First image-main plist

Final out put iam expecting

image3-new result

最佳答案

NSString *path = [[NSBundle mainBundle] pathForResource:@"mainPlistFile" ofType:@"plist"];
//path has path for main plist.

NSDictionary *dictionary=[NSDictionary dictionaryWithContentOfFile: path];
NSArray *listbook = [dictionary objectForKey:@"listbook"];

for (NSDictionary *item in listbook) {
if ([[item objectForKey:@"bid"] isEqualToString yourNSStringWithBidToSearch]) {
//now item is the desired dictionary, you can get values by using objectForKey
//or write it to a file like below.
[item writeToFile:pathToSaveNewPlist automatically:NO];
break;
}
}

请记住,您必须首先创建 NSString pathToSaveNewPlist 和您的 NSStringWithBidToSearch,我会把它留给您。



所以你编辑了问题:假设您有一个 NSArray bidsToSearch,其中包含要搜索的出值(value)的 NSStrings:

NSMutableArray *targetListbook = [[NSMutableArrray alloc] init]];
NSDictionary *dictionary=[NSDictionary dictionaryWithContentOfFile:[[NSBundle mainBundle] pathForResource:@"mainPlistFile" ofType:@"plist"]];
for (NSDictionary *item in [dictionary objectForKey:@"listbook"])
if ([bidsToSearch containsObject:[item objectForKey:@"bid"]])
[targetListbook addObject:item];
[@{listbook:targetListbook} writeToFile:pathToSaveNewPlist automatically:NO];

关于ios - 从现有的 plist 创建一个新的 plist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17717251/

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