2012-12-14 3 views
1

내 CLLocation 개체가 다른 개체에 있고 내 UI 화면 중 하나가 해당 개체에서 특정 통계를 업데이트하려는 경우 KVO를 사용하여 경도 및 위도와 같은 변경 내용을 관찰 할 수 있습니다.KVO를 사용하여 CLLocation 객체를 관찰 할 수 있습니까?

+0

이것이 왜 폐쇄 된 것인지 이해할 수 없습니다. KVO를 사용하는 것은 객체를 값을 유지하고 여러 위치에서 변경 사항을 통보해야 할 때 일반적인 기술입니다. 나는 합리적인 질문과 KVO 사용과 같은 것처럼 보입니다. – progrmr

답변

2

기본적으로 나는 명시 적으로 작동하도록 문서화되지 않은 코코아 개체 또는 값에 KVO를 의존하지 않을 것입니다. 그것이 효과가 있었다고하더라도, 당신은 그렇게 계속해서 의존 할 수 없었습니다.

하지만 CLLocationManager에는 모든 변경 사항이보고되는 위임자 (CLLocationManagerDelegate)가 있으므로 왜 사용하지 않습니까? 또는 다른 객체가 이미 델리게이트 인 경우 객체를 메시지로 보내거나 최소한 알림을 게시하도록 정렬 할 수없는 이유는 무엇입니까? 이것은 다른 기본 객체 통신 문제처럼 들립니다.

+0

그렇다면 무엇을 권하고 싶습니다. 이미 CLLocation 관리자 대리인을 기본보기로 사용하고 있습니다. NSNotificaiton을 사용하거나 자체 KVO 속성을 만들 수 있습니다. – mskw

+2

둘 중 하나가 좋습니다. KVO는 KVO 준수 변경 사항이 관찰자에게 자동으로보고된다는 분명한 이점이 있습니다. 하지만 개인적으로 나는 KVO 경영진을 서투른 것으로 간주한다. 'addObserverForName : object : queue : usingBlock :'이 생겼으니 통지는 거의 우아합니다. 그러나 내 개인적인 편견이 당신에게 영향을 미치지 않도록하십시오! :) – matt

관련 문제