2012-06-01 24 views
10

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

+0

hmm điều này thật đáng ngạc nhiên, không có phản hồi? – theiOSguy

Trả lời

4

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.

4.1.1. Property declarations

+1

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

+10

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. –

+0

Cảm ơn thông tin bổ sung – Daniel

4

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.

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