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