2011-04-12 51 views
0

我可以在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"); 
} 
} 

請任何人幫我把這個過來。謝謝

回答

2

感謝所有的代碼的答案,但他們原來對我沒有幫助。我糾正我的代碼是:

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循環。現在它工作正常。

3
id object = [mdict objectForKey:key]; 
BOOL exists = (object != nil); 

編輯:顯然這是不夠清楚。 基本上與objectForKey你剛剛說的是字典「請你給我對象我的鑰匙key」?如果該對象在那裏,那麼返回值將不爲零。否則它將是零。這就是爲什麼你檢查object != nil爲了知道該對象是否存在於你的密鑰字典中。 去喝更多的咖啡

+0

對不起,我沒有得到你。 – Lion 2011-04-12 11:16:05

+0

你想檢查一個具有特定鍵的對象是否存在於plist(即字典)中,對嗎?這就是你如何做到的。 – pt2ph8 2011-04-12 12:10:58

+0

有人請殺了我。 – pt2ph8 2011-04-12 13:35:08

相關問題