[Unity] Transform.Find

2021. 11. 24. 15:43

https://docs.unity3d.com/2019.4/Documentation/ScriptReference/Transform.Find.html

Find를 통해서 오브젝트를 받아올때 공식문서처럼 받으면 null일 경우 if 문은 커녕 그냥 오류가 난다. 즉 공식문서대로 하면 else는 절대 거칠 수 가 없다 (일단 내가 테스트해본결과 그렇다)

 

그래서 A = B.transform.Find("C")?.gameObject 라고 하는 것이 옳다.

널 조건 연산자는 ? 앞에 있는 객체가 NULL인지 체크해서 NULL이면 그냥 NULL을 리턴하고, 그렇지 않으면 ? 다음의 속성이나 메서드를 실행한다.

https://www.csharpstudy.com/CS6/CSharp-null-conditional-operator.aspx