2011-04-12 4 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

편집 : 분명히 충분히 명확하지 않았습니다. 기본적으로 objectForKey을 사용하면 "내 키 key에 해당하는 개체를 알려주시겠습니까?"라는 사전을 말하고있는 것입니까? 객체가 해당 키에 있으면 반환 값은 0이 아닌 값이됩니다. 그렇지 않으면 nil이됩니다. 그래서 그 물체가 당신의 키에 대한 사전에 존재 하는지를 알기 위해서 object != nil을 확인하는 것입니다. 더 많은 커피를 가져 가기 위해 간다

+0

미안하지만 나는 당신을 얻지 못했습니다. – Lion

+0

특정 키가있는 객체가 plist (사전)에 있는지 확인하고 싶습니다. 맞습니까? 그것이 당신이 그것을 할 수있는 방법입니다. – pt2ph8

+0

누군가 나를 죽 이길 바랍니다. – pt2ph8

관련 문제