Tôi đang gặp sự cố khi kết nối giữa ứng dụng máy chủ lưu trữ của tôi và tiện ích mở rộng của nó thông qua giao tiếp thay đổi NSUserDefaults.KVO với NSUserDefaults được chia sẻ trong Swift
tôi khởi NSUserDefaults
sử dụng init(suiteName:)
, thêm KVO quan sát bằng cách sử dụng phương pháp addObserver(...)
và overrided phương pháp observeValueForKeyPath(...)
nhưng phương pháp observeValueForKeyPath(...)
không được gọi khi tôi thay đổi giá trị tương ứng với quan sát key
. Sẽ rất tuyệt nếu bạn giúp tôi giải quyết vấn đề này.
PS: tên bộ sách ở đây là tên Nhóm ứng dụng và NSUserDefaults
được tạo bằng cách sử dụng suiteName as group identifier
sẽ nằm trong khu vực riêng tư dành cho nhóm ứng dụng.
http: // stackoverflow. com/questions/5714161/nsuserdefaults-and-kvo-issues –
Xin chào @DanielGalasko. Nếu nó là một 'standardUserDefaults' KVO hoạt động tốt nhưng trong trường hợp của tôi thì nó được chia sẻ giữa các ứng dụng và mục' userdefaults' được tạo ra trong một vị trí riêng biệt. đã tạo một gói riêng cho nhóm và tạo tệp 'userdefault' ở đó và chia sẻ giữa các ứng dụng. Nó giống như liên lạc giữa các ứng dụng. – Rafeek
Sau đó, bạn không thể sử dụng KVO nhưng cần phải sử dụng thông báo được đăng trên bộ :) –