1. 2가지 예시

 

// 방법 1
id value = dictionary[@"key"];

// 방법 2
id value = [dictionary objectForKey:@"key"];

 

 

 

 

 

2. 방법1, 방법2 공통점

 

 둘 다 반환되는 값은 id 타입이므로, 값을 가져온 후 원하는 타입으로 캐스팅 해야 합니다. objectForKey와 리터럴 구문 간의 성능 차이는 거의 없습니다.

 

 

 

 

 

3. 방법1, 방법2 차이점

 

 방법1

// 방법 1
id value = dictionary[@"key"];

가독성이 좋다는 장점이 있지만 만약 key가 nil인 경우 컴파일 타임 에러가 발생합니다.

 

 

방법2

// 방법 2
id value = [dictionary objectForKey:@"key"];

key가 유효한지 확인해야 할 경우 objectForKey를 사용하는 것이 좋습니다.

 

 

 

 

 

4. 결론

 

방법2 사용을 추천합니다.

// 방법 2
id value = [dictionary objectForKey:@"key"];

 

 

 

 

+ Recent posts