2012-07-02 33 views
5

Khi một tập tin được thay đổi trong iCloud (đã thêm, xóa hoặc thay đổi nội dung), tôi muốn gọi phương thức tôi đã tạo ([self methodName]) để tôi có thể cập nhật chế độ xem bảng với tên của các tệp mới. Tôi được thông báo về thay đổi tệp như thế nào? Tôi có cần nghe NSNotification (nếu có, nó là gì?) Hoặc tôi có phải kiểm tra thủ công không? Cảm ơn.Làm thế nào để bạn phát hiện khi một tập tin được thay đổi trong iCloud?

Trả lời

5

Tên của NSNotification tôi phải nghe là NSMetadataQueryDidUpdateNotification. Đây là cách tôi đã làm điều đó:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidUpdate:) name:NSMetadataQueryDidUpdateNotification object:query]; 

... 

-(void)queryDidUpdate:(NSNotification *)notification { 

    //something changed, reload (NSMetadataQuery, create NSPredicate, rerun the query, etc.) 

} 
1

This section of the Apple developer website chứa hướng dẫn tuyệt vời để thiết lập ứng dụng iCloud dựa trên tài liệu.

Để trả lời câu hỏi của bạn, hãy: miễn là tài liệu của bạn là UIDocument bạn có thể đăng ký thông báo. Chỉ cần tìm kiếm trang đó để "Theo dõi các Thay đổi về Tài liệu và Nhà nước" - có rất nhiều mã nguồn để giúp bạn.

+0

Ok, có vấn đề của tôi. Tôi đang sử dụng NSFileManager để di chuyển mọi thứ đến và từ vùng chứa iCloud của tôi theo cách thủ công, chứ không phải UIDocument. Tôi sẽ phải nhìn vào đó. Cảm ơn. –

Các vấn đề liên quan