ETC/Unity

[Unity] for문에서 이벤트리스너 등록 시 문제

Jade Choe 2024. 2. 11. 22:13
SMALL

SaveData가 있으면 버튼에 이벤트를 동적으로 할당하게 처리해줬다.

 

 

 

 

근데 자꾸 0~4의 범위를 벗어나 5번에다 저장한다...ㅜㅜ

 

 

검색해보니 for loop 안에서 람다함수 사용 시 발생하는 Closure 문제라고 한다...

 

for loop 내부에서 i값을 그때그때 값 복사, 참조하면 해결

 

 

Reference: https://velog.io/@jh11240/Unity%EB%B0%98%EB%B3%B5%EB%AC%B8%EC%97%90%EC%84%9C-%EB%9E%8C%EB%8B%A4delegate%ED%95%A8%EC%88%98-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EB%AC%B8%EC%A0%9C%EC%A0%90%ED%81%B4%EB%A1%9C%EC%A0%80-%EB%AC%B8%EC%A0%9C

BIG