도리안의 개발 잡설 #398 - 양방향 데이터 바인딩 적용 중 발생한 무한 루프

in zzan2 years ago


(Image from Pixabay)

안드로이드 앱을 개발하면서 설정 화면에 스위치 뷰를 추가하였다. 요즘에는 데이터 바인딩을 적용하는 것이 일반적이라 스위치에도 그것을 적용하고자 했다. 사용자가 on/off 조작을 하므로 양방향 데이터 바인딩을 적용해야 하는데, 문제는 이를 구현하면서 무한 루프가 발생했다는 것이다. 데이터 바인딩은 데이터가 바뀌면 UI 내용도 자동으로 바뀌는 것을 의미한다. 단방향 데이터 바인딩은 데이터가 바뀌면 UI도 바뀌는 것이다. 양방향 데이터는 이 뿐만 아니라 UI를 사용자가 조작해도 데이터가 변경되는 것이다. 여기서 주의해야 할 점은 '데이터 변경 -> UI 변경 -> 데이터 변경 -> UI 변경 -> ...' 패턴으로 무한 루프가 발생할 수 있다는 것이다. 이번에 이를 경험하며 잠깐이었지만 고생을 했다.

이번에는 일정상 시간 부족으로 인해 이 스위치에는 데이터 바인딩을 적용하지 않기로 했다. 왜 그렇게 했는지는 며칠 안에 보다 자세하게 적어볼 예정이다.


지난 개발 잡설들

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.030
BTC 64015.61
ETH 3429.88
USDT 1.00
SBD 2.54