1
在下面的教程中,我查看了设置值和相应的'键'的位置。NSXMLParser,数值和键的设置
[aBook setValue:currentElementValue forKey:elementName];
我的一个问题是,这种方法是字典,而不是NSArrays。
在下面的教程中,我查看了设置值和相应的'键'的位置。NSXMLParser,数值和键的设置
[aBook setValue:currentElementValue forKey:elementName];
我的一个问题是,这种方法是字典,而不是NSArrays。
setValue:forKey:
方法适用于支持Key Value Coding的所有内容。它允许您为由字符串标识的属性设置值。在这种特殊情况下,该字符串来自解析器完成处理的XML元素的名称,并且该值来自相应元素的文本。
KVC技巧允许您使用XML解析器设置对象的值,而不用硬编码对象属性或方法的名称。举例来说,如果你有XML的像这样的
<book>
<author>Kernighan and Ritchie</author>
<title>The C Programming Language</title>
</book>
和KVC兼容Book
类NSString*
性质author
和title
片段,解析器将能够处理属性的XML和设定值不知道任何关于您的XML结构或您的Book
类的结构。
嗯,谢谢,我认为这将有所帮助。 – 2012-07-06 14:16:55
这是有道理的。但是,如果没有它可以访问对象属性,为什么要使用KVC呢? – guitarflow 2012-07-06 14:18:13
@guitarflow如果你添加了一个新的属性,比如说'publisher'给你的类并且添加了新的标签到你的XML中,你将能够运行你不知道'publisher'的旧的基于KVC的程序而不需要重新编译。 – dasblinkenlight 2012-07-06 14:20:03