ios - 我怎样才能创建如下图所示的plist?

标签 ios objective-c nsarray plist nsdictionary

我正在尝试创建具有以下功能的 plist。

plist里面有两个键
1.id 2.状态

当前值为 id:91 status:buy 这里 Id 应该是唯一的。这意味着如果我尝试添加第三个条目,如 id:91 status:downlaod 。那么它应该用新的替换现有的 91 和 status:buy 。

请帮帮我 检查下图image

如果 Id 中有一个匹配项,如何删除状态和 ID?

最佳答案

枚举根数组并比较字典中的 id 值

NSMutableArray *rootArray = [[NSMutableArray alloc] initWithCapacity:0];
NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:@"91",@"id",@"Buy",@"status",nil];
NSDictionary *dic1 = [[NSDictionary alloc] initWithObjectsAndKeys:@"92",@"id",@"Download",@"status",nil];
[rootArray addObject:dic];
[rootArray addObject:dic1];  

enter image description here

NSDictionary *dic3 = [[NSDictionary alloc] initWithObjectsAndKeys:@"91",@"id",@"Download",@"status",nil];
NSDictionary *foundMatch =nil;

for(NSDictionary *dictionary in rootArray)
{
    if ([[dictionary objectForKey:@"id"] isEqualToString:[dic3 objectForKey:@"id"]]) {
        foundMatch = dictionary;
        break;
    }
}
if (foundMatch!=nil) {
    [rootArray removeObject:foundMatch];
    [rootArray addObject:dic3];
}
else {
    [rootArray addObject:dic3];
}
[rootArray writeToFile:@"path" atomically:YES];  

enter image description here

关于ios - 我怎样才能创建如下图所示的plist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18013660/

相关文章:

ios - 如何将 Cocoapods 与 Swift 项目集成?

ios - 停止调用 cellForRowAtIndexPath

Swift:无法为 'Array<Character>' 类型的值添加下标

ios - 使用数组使核心数据变得容易

ios - 使用 Alamofire 和 Argo : Could not find member 'None'

iphone - 我可以阻止单元格的披露指示器在被选中时变白吗?

objective-c - 使用重叠添加 CMSampleBufferRef 执行缓冲/加窗

iphone - 不会与CFRelease一起运行,但僵尸会失去它

objective-c - 自定义键盘中的 iOS 8.3 'UIView-Encapsulated-Layout-Width'

ios - 仅当委托(delegate)方法完成时才迭代 NSArray 中的下一项