반응형
NSDictionary에 확인 키가 있습니다.
이것이 존재하는지 어떻게 확인할 수 있습니까? :
[[dataArray objectAtIndex:indexPathSet.row] valueForKey:@"SetEntries"]
이 키가 있는지 여부를 알고 싶습니다. 어떻게 할 수 있습니까?
대단히 감사합니다 :)
편집 : dataArray에는 객체가 있습니다. 그리고 이러한 개체는 NSDictionaries입니다.
그 가정 [dataArray objectAtIndex:indexPathSet.row]
을 반환 NSDictionary
하는 경우, 당신은 단순히의 결과를 확인할 수 있습니다 valueForKey
에 대한을nil.
예를 들면 :
if ([[dataArray objectAtIndex:indexPathSet.row] valueForKey:@"SetEntries"] != nil) {
// The key existed...
}
else {
// No joy...
}
따라서 이미 답변을 선택하신 것을 알고 있지만이 답변이의 카테고리로 유용하다는 것을 알았습니다 NSDictionary
. 이 시점에서이 모든 다른 답변으로 효율성을 시작합니다. 으 ... 6/1 ...
- (BOOL)containsKey: (NSString *)key {
BOOL retVal = 0;
NSArray *allKeys = [self allKeys];
retVal = [allKeys containsObject:key];
return retVal;
}
0인지 확인하십시오.
if ([[dataArray objectAtIndex:indexPathSet.row] valueForKey:@"SetEntries"] != nil) {
// SetEntries exists in this dict
} else {
// No SetEntries in this dict
}
이것은 또한 다음 구문을 사용하는 Objective-C 리터럴을 사용하여 작동합니다.
NSDictionary *dict = @{ @"key1" : @"value1", @"key2" : @"value2" };
if (dict[@"key2"])
NSLog(@"Exists");
else
NSLog(@"Does not exist");
if ((NSNull *)[[dataArray objectAtIndex:indexPathSet.row] valueForKey:@"SetEntries"] != nil) {
// SetEntries exists in this dict
} else {
// No SetEntries in this dict
}
정답입니다.
이 시도:
if ([dict objectForKey:@"bla"]) {
// use obj
} else {
// Do something else like create the object
}
이것은 동일하지만 코드가 적습니다.
if (dataArray[indexPathSet.row][@"SetEntries"] != nil) { /* the key exists */ }
else { /* the key doesn't exist */ }
사전에 값이 있는지 확인하십시오. 확인하려면 [dic allKeys] .count> 0을 선호합니다.
Use the (unsigned long)
option:
if ( (unsigned long)[[dataArray objectAtIndex:indexPathSet.row] valueForKey:@"SetEntries"] ) {
// Key exist;
}else{
// Key not exist;
};
참고URL : https://stackoverflow.com/questions/4635106/check-key-exists-in-nsdictionary
반응형
'Nice programing' 카테고리의 다른 글
메인 스레드에서 메서드를 호출합니까? (0) | 2020.10.22 |
---|---|
데이터 테이블에서 페이지 매김을 제거하는 방법 (0) | 2020.10.22 |
Android Textview 개요 텍스트 (0) | 2020.10.22 |
iPhone에서 투명한 PNG 이미지에 색조를 지정하는 방법은 무엇입니까? (0) | 2020.10.22 |
현재 사용 중이므로 데이터베이스를 삭제할 수 없습니다. (0) | 2020.10.22 |