2016-06-21 3 views
1

내 응용 프로그램은 텍스트 파일을 한 줄씩 읽고 Card 개 개체의 배열에 복사 한 다음 각 노드에 대해 SceneKit 개의 노드를 만듭니다. Card 중 일부는 이전 줄에서 데이터의 반복 복사본을 수정하거나 만들기 때문에 줄 번호와 SCNNode 사이에 1 : 1로 대응하지 않습니다.SCNNode 이름, 고유 값에 대한 제안 사항?

노드를 만들 때 노드의 이름을 고유하게 지정할 수있는 방법을 찾기 위해 childNodeWithName(_:recursively:)을 사용하여 노드를 찾을 수 있습니다. 배열에서 Card 색인을 사용하는 것은 유용하지 않습니다. 사용자가 객체를 추가하거나 제거하거나 순서를 변경할 수 있기 때문입니다.

이 작업에 사용할 수있는 Card (또는 임의의) 개체 자체에 고유 한 ID 또는 해시가 있습니까?

답변

1

질문에 대한 답변은 Card이 무엇인지에 따라 달라지며 SceneKit과 완전히 독립적입니다. Card에 포함 된 내용에 대해 잘 작동하는 해시 함수를 찾거나, 의 이니셜 라이저에 NSUUID을 저장할 수 있습니다.

+0

NSUUID는 내가 찾고 있던 해결책처럼 들립니다. 이러한 검색이 상대적으로 효율적입니까? –

+0

음,'childNodeWithName (_ : recursively :)'를 사용하면 성능 비용은 항상 동일합니다. 문자열을 비교하고 생성하는 방법 (NSUUID.UUIDString')은 중요하지 않습니다. – mnuages

+0

좋은 지적입니다! 지금 구현 중 ... –

관련 문제