NSDictionary
에 키가 있는지 어떻게 확인합니까?Cocoa/Objective-C - NSDictionary에 키가 있는지 확인하십시오.
콘텐츠가 있는지 확인하는 방법을 알고 있지만 동적 인 것이므로 그것을 방지해야합니다. 어떤 경우에는 "이름"과 값이있는 키가있을 수도 있지만 다른 경우에는이 값 쌍이 존재하지 않을 수도 있습니다.
NSDictionary
에 키가 있는지 어떻게 확인합니까?Cocoa/Objective-C - NSDictionary에 키가 있는지 확인하십시오.
콘텐츠가 있는지 확인하는 방법을 알고 있지만 동적 인 것이므로 그것을 방지해야합니다. 어떤 경우에는 "이름"과 값이있는 키가있을 수도 있지만 다른 경우에는이 값 쌍이 존재하지 않을 수도 있습니다.
가장 간단한 방법입니다.
편집 : 브래들리의 대답에 대해 언급하는 대답
당신은 더 질문 :
경우 확인하는 방법이 있나요이 : [[[contactDetailsDictionary objectForKey : "전문가"] objectForKey @ @ "CurrentJob"] objectForKey : @ "역할"] 존재합니까? 하나의 키가 아니라 정말 거대한 사전이기 때문에 다른 카테고리에 존재할 수 있습니다. 그냥 쓰기보다 오브젝티브 C에서
당신은 그래서 간단한 방법을 확장, 그것은 오류가 아닙니다 및 nil
를 반환 nil
에 메시지를 보낼 수 있습니다
[[[contactDetailsDictionary objectForKey:@"professional"]
objectForKey:@"CurrentJob"]
objectForKey:@"Role"] != nil
을의 어떤 부분처럼 좌변을 존재하지 않는 키 순서를 확인하는 방법이 있나요
NSDictionary
은 모든 키를 NSArray
으로 반환 한 다음 배열에 containsObject
을 사용합니다. 사전이 존재하지 않는 키에 대한 nil
을 반환
[dictionary objectForKey:@"key"] != nil
로 (당신은 그러므로 그것을 위해 당신이 NSNull
을 사용하여, 사전에 전무를 저장할 수 없습니다) :
NSDictionary* dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"object", @"key"];
if ([[dictionary allKeys] containsObject:@"key"]) {
NSLog(@"'key' exists.");
}
nil
을 반환하는 경우이 : [[[contactDetailsDictionary objectForKey :] "전문"objectForKey @ : objectForKey] "CurrentJob"@ @ "역할"] ] 가 존재합니까? 하나의 키가 아니라 정말 거대한 사전이기 때문에 다른 카테고리에 존재할 수 있습니다. –
'NSDictionary'를 반환하는 메소드를 'dictionary'로 대체하십시오. –
메서드가 동일한 것을 반환하면 그 작업을 수행 할 필요가 무엇입니까? 어쩌면 그건 멍청한 질문 일지 모르지만 프런트 엔드에서 왔고 목표 C가 나를 천천히 죽이고 있습니다. P –
연결 조회의 경우 KVC :'[contactDetailsDictionary valueForKeyPath : @ "professional.CurrentJob.Role"]'을 사용할 수도 있습니다. –
첫 번째 코드 줄에 작은 오타가 있습니다. 메서드 이름은'objectForkey'가 아니라'objectForKey'입니다. – jamix
@jamix - 고마워요. – CRD