2011-08-04 6 views
2

NSUserDefaults를 사용하여 settings.bundle의 설정을 변경했습니다. 나는 또한 내가 관찰자를 사용하여 업데이트하는 앱 설정을 가지고있다. 이것은 잘 작동합니다. 앱에서 설정을 변경하면 NSUserDefaults 값이 설정 번들에 반영되도록 업데이트됩니다. 그러나 이상한 행동이 발생합니다. 한 번만 변경할 수 있지만 두 번째로 ON으로 전환하면 다시 OFF로 돌아갑니다. 나는 그때 관찰자가 호출되고 뭔가 잘못 될 것으로 짐작하고있다. 이 행동을 본 사람이 있습니까? 나는 정말로 무슨 일이 일어나고 있는지 이해하지 못한다.앱 설정에서 NSUserDefault 설정을 동기화 상태로 유지하는 방법은 무엇입니까?

+0

관찰자/동작이 기본 파일을 업데이트하기 위해 두 번 호출되고 있습니까? – Luke

+0

예. 문제는 그 이유입니다. NSUserDefault 설정을 한 번만 업데이트합니다. 예라고 한 번만 부르면 두 번째는 없습니다. – Suchi

+1

왜 이런 일을 두 번하고 있는지 말할 수는 없지만,이 같은 동작 (비슷한 것을 두 번 호출 함)을 발견하고 간단히 해킹하여 작업을 계속할 수 있습니다. 미안해서 더 이상 도움이 될 수 없어! – Luke

답변

3

NSUserDefaults를 편집 할 때마다 동기화해야합니다.

[[NSUserDefaults standardUserDefaults] synchronize];

+0

그래, 이미하고 .. 문제가 도움이되지 않습니다 – Suchi

관련 문제