MiPlatform에서 null 체크시 주의할 점

By | 2월 3, 2012

MiPlatform 에서 어떤 객체가 어떤 속성을 가지고 있는지 체크를 할 때 

if( obj.splHorz != null ) { ... }

과 같은 코드를 사용하곤 했는데, 이놈이 오류 가능성을 내포하고 있었다.

왜냐하면 MiPlatform에서는 비록 객체 자신이 해당 속성을 갖고 있지 않다고 해도,
부모객체가 해당 속성을 갖고 있으면 자신이 갖고 있는 것으로 간주
하기 때문이다.

그래서 일례로, 하위페이지가 split 을 갖고 있는지를 확인한 후, 갖고 있으면 split의 위치를 조정하는
코드를 만들었었는데, 자신이 갖고 있지 않아서 수행하지 않은 것이 아니라, 부모가 split을 갖고 있어서
부모 split의 위치를 변경해 버려 원치 않는 화면 깨짐이 발생했던 적이 있었다.
그래서 객체가 분명할 경우에만 수행하도록 아래와 같이 코드를 변경했다.

if( obj.splHorz != null && obj.id == obj.splHorz.GetForm().id ) { ... }

주의하자 >,, < !!

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments