2016-11-21 15 views
2

이 명령의 복수 버전이 있습니까? 추가 할 어린이 목록을 입력 할 수 있습니까? 등을SpriteKit addChild (노드 : SKNode) 복수형?

종류 :

addChildren(myNodeABC, myNodeXYZ, myNode123) 
+0

아니, 당신이해야 할 것이다 당신의 자신의 – Knight0fDragon

+0

아아, 멋진, @ Knight0fDragon. 나는 내가 확장 물을 모으는 것을 사용하려고 할 것이고, 당신을 위해 여기에서 당신이 웃음 거리가 될 때까지 웃을 것이다. – Confused

+0

그러나 당신의 숨을 멈추지 마라. 나는 할 약간의 다른 일이있다. 그것은 2,3 일 일 수 있었다. 또는 주 전에 나는 그것에 도착한다. 그리고 그것은 단지 코딩 시간입니다.) – Confused

답변

5

그것을 할 확장을 쓰기는 (내가 스위프트 3 스타일 에 쓴, 나는이를 작동하는지 확인하기 위해 바로 사용할 수 엑스 코드가없는)

extension SKNode 
{ 
    func add(children: SKNode...) { 
     for child in children{ 
      addChild(child) 
     } 
    } 
} 

사용 :

node.add(children:node1,node2,node3) 

참고 : 경우에 5,271,라고 가변 매개 변수는 당신이 그들에 대해 더 알고 싶어 : https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html

적은 라인을 사용하려면이 수행

extension SKNode 
{ 
    func add(children: SKNode...) { 
     children.forEach({addChild($0)}); 
    } 
} 
+1

와우. variadic 아주 좋습니다. 인스턴트 배열처럼, 하나 만들 필요가 없습니다. – Confused

+2

그렇습니다. 명령 줄 앱에서 다양한 양의 매개 변수를 받아 들일 수있는 방법이 필요했기 때문에 C 시대 이후로 존재했습니다. – Knight0fDragon

+1

당신은 전설적입니다! 최선을 다해, 당신은 최고 중 하나입니다! – Confused