Tôi đang làm việc trên ứng dụng Swift với Dữ liệu lõi. Tôi đã tạo tệp *.xcdatamodeld
và tạo một NSManagedObject Subclass
(Editor -> Create NSManagedObject Subclass...
).In NSManagedObject đối tượng Dữ liệu lõi được phân lớp thành bảng điều khiển trả về dòng trống trong Swift
Mọi thứ hoạt động tốt trừ khi tôi cố gắng println
đối tượng đã được tạo đối tượng của lớp đó (cho phép gọi là Person
) bảng điều khiển in trống hoặc chỉ đơn giản là Optional()
nếu chưa được mở.
Tôi đã thử thêm DebugPrintable
hoặc Printable
qua tiện ích mở rộng lớp học mà không thành công.
Đây có phải là giới hạn đã biết của các đối tượng CoreData không? Tôi đang thiếu gì?
Thêm mã cho rõ ràng:
/// Person.swift (auto-generated by Xcode)
class Person: NSManagedObject {
@NSManaged var firstname: String
@NSManaged var lastname: String
}
phần mở rộng của tôi:
/// Person+Helpers.swift
extension Person : Printable, DebugPrintable {
override var description : String {
return "test"
}
override var debugDescription : String {
return "debug test"
}
}
điều khiển in trống dòng, hoặc trong trường hợp của một mảng của Person
đối tượng, nó chỉ đơn giản in [ , , , , ]
Vui lòng hiển thị mã nơi bạn khởi tạo đối tượng. – zisoft
Tôi thấy điều tương tự với Xcode 6.1 (6A1052d). Tôi đã tạo ra một ý chính để chứng minh rằng nó không quan trọng như thế nào tôi nhận được các đối tượng: https://gist.github.com/bgrace/021f55a9f160685e2433 - Tôi sẽ quan tâm để biết nếu có thể in trên một NSManagedObject đang làm việc cho bất cứ ai. – Brett
Tôi vừa gặp sự cố này cũng như cố gắng chuyển đổi một mảng các lớp con NSManagedObject thành chuỗi để lưu trong báo cáo lỗi. Để bây giờ tôi đang làm điều này như một cách giải quyết: var stringArray = [Chuỗi]() cho lớp con trong arrayOfSubclass { stringArray.append (subclass.name) } Sau đó, sử dụng stringArray.description để có được tham gia dây. – jlichti