2015-05-21 19 views
6

Tôi đang xây dựng một ứng dụng sử dụng WatchKit và muốn để cư một bảng với dữ liệu từ PFObjects tôi có trong một lớp học nhưng tôi đã nhận lỗi này:Parse và watchkit mở rộng

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException', reason: 'This decoder will only decode classes that adopt NSSecureCoding. Class 'PFObject' does not adopt it.'

Có cùng một vấn đề như this post

Trả lời

3

Bạn đã cân nhắc thêm tiện ích mở rộng Swift vào PFObject có sử dụng giao thức NSSecureCoding không?

Tôi chưa thử tác vụ này nhưng có vẻ hợp lý để mong đợi điều này hoạt động do thông báo lỗi.

khuyến nghị hành động

Để phù hợp với NSSecureCoding:

Một đối tượng mà không ghi đè initWithCoder: có thể phù hợp với NSSecureCoding mà không cần bất kỳ thay đổi (giả định rằng nó là một lớp con của lớp khác mà phù hợp).

Một đối tượng không ghi đè initWithCoder: phải giải mã bất kỳ đối tượng được đính kèm nào bằng phương thức decodeObjectOfClass: forKey:. Ví dụ:

SWIFT

let obj = decoder.decodeObjectOfClass(MyClass.self, forKey: "myKey") 

Bên cạnh đó, lớp phải ghi đè phương pháp supportsSecureCoding nó trở thành sự thật.

Nếu sử dụng Objective-C thì một danh mục có vẻ như là một giải pháp phù hợp.

1

Trong điều khiển giao diện của đồng hồ chỉ cần đặt gọi chứng Parse một lần nữa:

[Parse setApplicationId:@"APPID" clientKey:@"CLIENTKEY"]; 

và tạo ra một PFQuery mới chỉ dành riêng cho đồng hồ. Nó không quan trọng nếu giao tiếp thất bại hay không.

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