-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
_object.Add() 타이밍 질문있습니다~
20.11.03 21:11 작성 조회수 205
0
Bind 메서드에서 아래의 Add가 먼저되고 난다음에 objects에 컴포넌트가 채워지는데 objects가 참조형 변수라서 먼저 Add를 해도 메서드를 빠져나가기 전에 objects가 변경되면 해당 objects로 Add가 되는게 맞나요?
여기서 직관적으로 Add를 for 문 뒤로 빼면 안되나요?
_object.Add(typeof(T), objects);
for (int i = 0; i < names.Length; i++)
{
objects[i] = Util.FindChild<T>(gameObject, names[i], true);
}
답변을 작성해보세요.
0
0
Rookiss
지식공유자2020.11.04
objects는 배열이고 배열은 참조값이니
_object.Add 할 때 Dictionary에 (key, 배열의 참조)가 들어가는 것이고,
objects[i] = Util.FindChild... 를 할 때는
objects 배열의 특정 인덱스에 접근해 데이터를 채워주고 있습니다.
둘은 아무런 연관성이 없기 때문에 순서는 편하실 대로 바꿔도 상관없습니다.
그림으로 보면 다음과 같습니다.
답변 2