2016-10-18 3 views
1

은 KVC는 목표 - C 리터럴 일명 '현대 목표 - C'까지 짧은 무언가가 있다면 정말 편리 할 것입니다 때문에 내가 궁금하네요KVC 현대 구문

을의 기능 중 하나를 선택, 그리고 더 많은나요 당신 같은

[someObject setValue:someValue forKey:someKey];

답변

0

아마 같은보다 읽기, 그

에 대한 정보를 찾을 수 없습니다하지만 KVC의 문제는 "현대는 오브젝티브 -C"그 컴파일러는 않을 것입니다 다음과 같은 생각 당신이 심판을 받을지를 판단 할 수있는 방법이있다. 범위를 벗어난 변수를 입력하거나 철자가 틀린 경우

그래서 내가 KVC는 항상 표준 메시지 구문을

+1

컴파일러는'someDict [aKey]'의 유효성을 검사하지 않습니다. –

+0

@JoshCaswell +1 게다가 : 동일한 정보 (객체, 키, 값)를 갖는 다른 구문은 항상 동일한 코드를 생성 할 수 있습니다. 'v [k] -> - >> object'를 생각할 수 있습니다. –

2

개체 구독을 따라야 할 생각은 KVC에 가까운 :

someObject[someKey]=someValue; 

는, 그 객체 구독을주의하고 KVC는 다른 코드 경로를 따라, 그래서 행동이 동일하지 않을 수도 있습니다. 그러나 그 이유는 거의 없습니다. 이것은 명확 구문 경우 의심 할 수이 하나 옆에

: 메시지는

object[@"a"]=object[@"b"]=object[@"c"]; 

를 전송하는?