我正试图解决使用SAX解析并认为一个好的起点是在iPhone开发中心找到的TopSongs示例。我得到了大部分内容但是当涉及到达节点内的属性和值时,我无法在任何地方找到一个好的例子。 XML具有指向coverArt的URL的路径。 XML节点看起来像这样。
<itms:coverArt height="60" width="60">http://a1.phobos.apple.com/us/r1000/026/Music/aa/aa/27/mzi.pbxnbfvw.60x60-50.jpg</itms:coverArt>
我试过的是startElement ......
((prefix != NULL && !strncmp((const char *)prefix, kName_Itms, kLength_Itms)) &&
(!strncmp((const char *)localname, kName_CoverArt, kLength_Item) &&
!strncmp((const char *)attributes, kAttributeName_CoverArt, kAttributeLength_CoverArt) &&
!strncmp((const char *)attributes, kValueName_CoverArt, kValueLength_CoverArt) ||
!strncmp((const char *)localname, kName_Artist, kLength_Artist) ||
然后再次使用最后的本地名称再次选择它。
if (!strncmp((const char *)localname, kName_CoverArt, kLength_CoverArt)) { importer.currentSong.coverArt = [NSURL URLWithString:importer.currentString];
跟踪是 - [Song setCoverArt:]:发送到实例的无法识别的选择器。
答案 0 :(得分:0)
听起来您没有在coverArt
类中合成Song
属性(使用@synthesize
关键字)。这就是在-[Song setCoverArt:]
上设置coverArt
属性时调用currentSong
方法的原因。