我想根據XML文件的輸出動態創建對象。我很抱歉,如果有關於這個問題的其他帖子,我甚至不知道這是什麼。基本上我想創建一堆可以是任何類的對象。簡而言之,當調用NSXMLParser的「didStartElement」時,我想創建一個類型爲「elementName」的對象並將其堆疊到我的對象堆棧中。下面的代碼不起作用,只是試圖說明我正在嘗試完成什麼。通常我只是把「objectStack.append(object)作爲對象」,但在這種情況下,我不知道對象類型將會是什麼,直到元素被XML解析器掃描。我相信NSClassFromString是這樣做的方式,但它不起作用。Swift:動態對象創建
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
objectStack.append(NSClassFromString(elementName))
}
任何援助將不勝感激。即使你能指出我朝着正確的方向。
當你說,它不工作?你得到的錯誤是什麼?我認爲你需要實際分配&init對象,試着'objectStack.append(NSClassFromString(elementName)())'注意額外的'()'。 – sbarow
剛剛解決了這個問題,我真的很接近。我只需要在元素名稱前添加項目名稱。工作代碼遵循。 – GED125