如何检查数据或对象在PList,iPhone中是否已经存在?
问题描述:
我可以在PList中成功添加和删除对象或数据,但我想知道数据或对象已经存在于PList中。我的代码是如何检查数据或对象在PList,iPhone中是否已经存在?
NSUInteger countObjectsFromPList;
countObjectsFromPList = [[mdict allKeys] count];
NSLog(@"objects in PList %d", countObjectsFromPList);
for(int i=0; i <= countLawsFromPList; i++){
NSLog(@"\n\n\n%d\n\n\n", i);
//if([objectName isEqualToString:[[mdict allKeys] objectAtIndex:i]])
if(objectName ==[[mdict allKeys] objectAtIndex:i]){
NSLog(@"Already exists");
//NSLog("String is equal");
}
else {
NSLog(@"Added to Favorites");
}
}
请任何人帮我把这个过来。谢谢
答
感谢所有的代码的答案,但他们原来对我没有帮助。我纠正我的代码是:
mdict = [[NSMutableDictionary alloc] initWithContentsOfFile:[self doccumentspath]];
NSUInteger countObjectsFromPList = [[mdict allKeys] count];
NSLog(@"Objects in PList %d", countObjectsFromPList);
for(int i=0; i < countObjectsFromPList; i++){
NSLog(@"\n\n\n%d\n\n\n", i);
NSLog(@"from viewWillAppear- Object Name- %@", object);
if([object isEqualToString:[[mdict allKeys] objectAtIndex:i]]){
NSLog(@"Already exists");
exists = YES;
NSLog(@"The value of the bool is %@\n", (exists ? @"YES" : @"NO"));
}
}
我不得不做的是去除=
在for
循环。现在它工作正常。
答
id object = [mdict objectForKey:key];
BOOL exists = (object != nil);
编辑:显然这是不够清楚。 基本上与objectForKey
你刚刚说的是字典“请你给我对象我的钥匙key
”?如果该对象在那里,那么返回值将不为零。否则它将是零。这就是为什么你检查object != nil
为了知道该对象是否存在于你的密钥字典中。 去喝更多的咖啡
对不起,我没有得到你。 – Lion 2011-04-12 11:16:05
你想检查一个具有特定键的对象是否存在于plist(即字典)中,对吗?这就是你如何做到的。 – pt2ph8 2011-04-12 12:10:58
有人请杀了我。 – pt2ph8 2011-04-12 13:35:08