Tự hỏi liệu có ai khác đã gặp phải điều này hay không, hoặc nếu có lý do và tôi đang làm điều gì đó sai.Thực thể CoreData với thuộc tính Boolean được lưu dưới dạng đối tượng NSNumber
Tôi có một ứng dụng với CoreData. Trong lược đồ, tôi có một thực thể 'nội dung' với thuộc tính 'đã mở khóa' được đặt thành Boolean.
Tuy nhiên khi tôi tiết kiệm ra lớp Obj C cho đơn vị mặc dù Xcode, xuất hiện mở khóa trong vòng content.h như:
@property (nonatomic, retain) NSNumber * unlocked;
Nếu tôi thay đổi nó để Boolean trong content.h, tôi nhận được một biên dịch ARC lỗi. Tuy nhiên nếu tôi để nó như một đối tượng NSNumber khi tôi thử và lấy nó, nó sẽ trở lại không nhất quán (như trong trường hợp tôi có một bản in NSLog, nó trở lại như một giá trị khác mỗi khi tôi chạy).
Tôi có thể tìm ra một công việc khá rõ ràng, thiết lập như NSString thành 'yes' hoặc 'no' và so sánh tại điểm thích hợp, nhưng tôi muốn biết liệu có ai biết tại sao điều này xảy ra hay không có cách để giữ nó như một Boolean.
Xin cảm ơn trước.
Bạn có thể chọn tùy chọn * "Sử dụng các thuộc tính vô hướng cho các kiểu dữ liệu nguyên thủy" * khi tạo lớp con đối tượng được quản lý trong Xcode, sau đó bạn sẽ mở khóa '@property (nonatomic) BOOL; ' –