0

我正在尝试使用 SAX 进行解析,并认为 iPhone Dev Center 中的 TopSongs 示例是一个很好的起点。我得到了大部分内容,但是当涉及到节点内的属性和值时,我在任何地方都找不到一个好的例子。XML 有一个指向封面艺术 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 尝试过的是这个……</p>

 ((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:]: unrecognized selector sent to instance。

4

1 回答 1

0

听起来你还没有coverArt在你的类中合成属性Song(使用@synthesize关键字)。这就是创建在-[Song setCoverArt:]设置coverArt属性时调用的方法的原因currentSong

于 2009-09-08T00:11:37.797 回答