XML 파일의 출력을 기반으로 객체를 동적으로 생성하려고합니다. 이 주제에 대한 다른 게시물이 있으면 사과 드리며,이 사실을 알지도 못합니다. 기본적으로 어떤 클래스라도 될 수있는 객체의 스택을 만들고 싶습니다. 요컨대, NSXMLParser의 "didStartElement"가 호출 될 때 "elementName"유형의 객체를 만들고이를 객체 스택에 스택 싶습니다. 아래 코드는 작동하지 않고 단지 내가 성취하고자하는 것을 설명하려고합니다. 일반적으로 "objectStack.append (object) as object"를 넣을 것입니다. 그러나이 경우에는 요소가 XML 파서로 스캔 될 때까지 객체 유형이 어떻게 될지 알 수 없습니다. NSClassFromString이 일을하는 방법이라고 생각하지만 작동하지 않습니다.Swift : 동적 객체 생성
func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String]) {
objectStack.append(NSClassFromString(elementName))
}
모든 도움을 주시면 감사하겠습니다. 비록 당신이 옳은 방향으로 나를 겨냥 할 수 있다고하더라도.
는 말? 뭐가 잘못 됐어? 실제로 alloc & init 객체를 필요로한다고 생각합니다.'objectStack.append (NSClassFromString (elementName)())'여분의'()'를 주목하십시오. – sbarow
방금 문제가 해결되어 정말 가까이에있었습니다. 요소 이름 앞에 프로젝트 이름을 추가하면됩니다. 따라야 할 작업 코드. – GED125