2012-07-06 6 views
1

튜토리얼을 읽은 후에 값과 부식되는 '키'가 설정된 위치를 살펴 보았습니다.NSXMLParser, 값 및 키 설정

[aBook setValue:currentElementValue forKey:elementName]; 

이 문제는이 방법이 NSArrays가 아닌 사전에 대한 것입니다.

답변

1

setValue:forKey: 방법은 Key Value Coding을 지원하는 모든 것에 적용됩니다. 문자열로 식별되는 속성 값을 설정할 수 있습니다. 이 특별한 경우 문자열은 파서가 처리를 완료 한 XML 요소의 이름에서 가져 오며 해당 값은 해당 요소의 텍스트에서 가져옵니다.

KVC 트릭을 사용하면 XML 파서를 사용하여 개체의 속성이나 메서드 이름을 하드 코딩하지 않고 개체의 값을 설정할 수 있습니다. 이

<book> 
    <author>Kernighan and Ritchie</author> 
    <title>The C Programming Language</title> 
</book> 

NSString* 속성 authortitle와 KVC 준수 Book 클래스와 같은 XML의 조각이있는 경우 예를 들어, 파서는 몰라도 속성의 XML 및 설정 값을 처리 할 수있을 것 XML의 구조 나 Book 클래스의 구조에 관한 것.

+0

흠, 고마워, 이것이 도움이 될 것 같아. –

+0

그건 의미가 있습니다. 하지만 KVC를 사용하지 않고 개체 속성에 액세스 할 수있는 이유는 무엇입니까? – guitarflow

+0

@guitarflow 'publisher'와 같은 새 속성을 클래스에 추가하고 XML에 새 태그를 추가하면'publisher'에 대해 모르는 이전 KVC 기반 프로그램을 실행할 수 있습니다. 다시 컴파일하지 않고도 존재할 수 있습니다. – dasblinkenlight