Khi tôi tạo đối tượng mô hình cho thực thể của mình trong CoreData ở chế độ ARC, nó tạo ra giữ lại thay thế hoặc mạnh. Vì vậy, giữ lại công việc và biên dịch trong chế độ ARC cũng? Tôi nghĩ ở chế độ ARC, chúng tôi không thể sử dụng bản phát hành, tự động phát hành và giữ lại từ khóa?Đối tượng mô hình CoreData trong ARC sử dụng giữ lại
Trả lời
Bạn có nghĩa là nó tạo ra tuyên bố @property
như thế này không?
@property (nonatomic, retain) MyObject *object;
retain
thuộc tính đặc tính có nghĩa là strong
trong ARC.
Thật tuyệt, nhưng không thực sự trả lời câu hỏi, tôi thích anh chàng này đã tạo ra một dự án bằng ARC, và khi thêm Dữ liệu cốt lõi vào hỗn hợp, NSManagedObjects đang được tạo ra với các thuộc tính sử dụng giữ lại, không mạnh. Mặc dù điều này không hợp pháp trong một dự án ARC, trừ khi được quy định khác là phần không phải ARC của dự án, đây là một sự kiện lạ. Nó nên được dự kiến sẽ sử dụng mạnh mẽ không giữ lại, hoặc ít nhất là trình biên dịch nên phàn nàn rằng nó không phù hợp với quy tắc ARC ... Bất kỳ suy nghĩ khác – Daniel
ARC không cấm việc sử dụng từ khóa 'giữ lại'. Nó cấm sử dụng bộ chọn 'giữ lại'. Từ khóa và bộ chọn hoàn toàn khác nhau. Xem §7.1.1 của tài liệu tôi đã liên kết. –
Cảm ơn thông tin bổ sung – Daniel
Xin hãy kiểm tra câu trả lời này: https://stackoverflow.com/a/10036821/662605
Các ý chính của nó là nếu bạn @synthesize
tài sản của bạn, sau đó mã được tạo dưới mui xe sẽ dựa vào retain
loại (retain
, assign
, copy
).
tạo Quản lý lớp con Object sử dụng @dynamic
không @synthesize
, tất cả các công cụ này đang xảy ra một cách kỳ diệu cho bạn, vì vậy trên thực tế, mặc dù cũng rất lúng túng, từ khóa retain
không được sử dụng nó sẽ có vẻ, do đó ARC không hề phàn nàn .. Tôi khá chắc chắn đó là nó.
Mặc dù tôi đã cố gắng để trao đổi việc thực hiện sử dụng @synthesize
và vẫn không nhận lỗi, nhưng tôi nghĩ chúng tôi có thể vào một cái gì đó với câu trả lời đó vào liên kết
Bất kỳ cái nhìn khác sẽ được tốt đẹp.
- 1. Giữ lại Cycle trong ARC
- 2. Trở đối tượng autoreleased sử dụng ARC
- 3. ARC, Chặn và giữ lại chu kỳ
- 4. Đối tượng xóa CoreData
- 5. Tại sao ARC giữ lại các đối số phương thức?
- 6. Phát hiện giữ lại vòng tròn ARC
- 7. Lưu các đối tượng CoreData trong NSUserDefaults
- 8. Cách sử dụng @sum với CoreData
- 9. @property định nghĩa với ARC: mạnh mẽ hoặc giữ lại?
- 10. DAO mô hình và các đối tượng mô hình
- 11. Sử dụng lại đối tượng CloudBlobClient
- 12. Sau khi chuyển đổi tự động ARC: Gán đối tượng được giữ lại cho thuộc tính không an toàn; đối tượng sẽ được phát hành sau khi gán
- 13. Sử dụng giữ lại trong initWithCoder?
- 14. Xác thực đối tượng mô hình Python
- 15. Thiết kế đối tượng mô hình Java
- 16. Sửa lỗi ARC khi sử dụng đối tượng Objective-C trong struct
- 17. Làm thế nào để lưu trữ an toàn đối tượng id trong thành phần void C++ * trong ARC khi không có tham chiếu nào khác giữ đối tượng?
- 18. Truyền đối tượng để xem mô hình
- 19. Nhập mô hình CoreData cũ vào dự án mới
- 20. Tìm người có số lần giữ lại đối tượng
- 21. Làm thế nào để bạn tìm ra những gì đang giữ lại một đối tượng trong Dụng cụ?
- 22. Sử dụng LINQ trên kết quả mô hình Đối tượng khách hàng từ sharepoint
- 23. CoreData - mối quan hệ được lập mô hình một-nhiều đến như là một đối một
- 24. Tại sao các biến __block không được giữ lại (Trong môi trường không phải ARC)?
- 25. Thực thể CoreData với thuộc tính Boolean được lưu dưới dạng đối tượng NSNumber
- 26. Mô hình đối tượng null có đáng giá không?
- 27. AngularJS ng mô hình chuyển đổi đối tượng chuỗi
- 28. Lập mô hình miền, Đối tượng miền trong DDD
- 29. Lập trình ListItemVersion bằng cách sử dụng mô hình đối tượng khách hàng SharePoint 2010
- 30. Cách tạo mô hình các đối tượng đa ngôn ngữ bằng Python sử dụng webapp2
hmm điều này thật đáng ngạc nhiên, không có phản hồi? – theiOSguy