Cập nhật cho Xcode 7 (cuối cùng): Việc
chuẩn bị tên mô-đun cho lớp (như trong Xcode 6 và các bản phát hành beta đầu tiên của Xcode 7) không còn cần thiết nữa. Tài liệu Apple Thực hiện các lớp con đối tượng được quản lý dữ liệu lõi đã được cập nhật tương ứng.
Trình kiểm tra Mô hình Dữ liệu hiện có hai trường "Lớp" và "Mô-đun" cho một thực thể:
Khi bạn tạo một lớp con đối tượng được quản lý Swift cho thực thể, trường "Mô-đun" được đặt thành "Mô-đun sản phẩm hiện tại" và với cài đặt này, các phiên bản tạo hoạt động cả trong ứng dụng chính và trong các thử nghiệm đơn vị. Lớp con đối tượng được quản lý không được đánh dấu @objc(classname)
(điều này được quan sát thấy trong https://stackoverflow.com/a/31288029/1187415 ).
Ngoài ra, bạn có thể làm trống trường "Mô-đun" (nó sẽ hiển thị "Không") và đánh dấu các lớp con đối tượng được quản lý bằng @objc(classname)
(điều này đã được quan sát trong https://stackoverflow.com/a/31287260/1187415 ).
Lưu ý: Câu trả lời này ban đầu được viết cho Xcode 6. Có một số thay đổi trong các bản phát hành Xcode 7 beta khác nhau liên quan đến vấn đề này. Vì nó là một câu trả lời được chấp nhận với nhiều upvote và liên kết đến nó, tôi đã cố gắng tóm tắt tình huống cho phiên bản Xcode 7 hiện tại.
Tôi đã thực hiện cả "nghiên cứu" của riêng mình và đọc tất cả các câu trả lời cho cả câu hỏi này và câu hỏi tương tự
CoreData: cảnh báo: Không thể tải lớp có tên . Vì vậy, sự ghi nhận thuộc về tất cả chúng, ngay cả khi tôi không liệt kê chúng một cách cụ thể!
Câu trả lời trước cho Xcode 6 :
Như được ghi lại trong việc triển khai các lớp con đối tượng được quản lý dữ liệu lõi , bạn phải đặt tiền tố tên lớp thực thể trong trường Lớp trong trình kiểm tra thực thể mô hình với tên mô-đun của bạn, ví dụ "MyFirstSwiftApp.User".