Tôi có một tài sản mà tôi không tổng hợp, thay vào đó tôi tạo ra một getter và setter bản thân mình. Do đó, các từ khóa ARC (mạnh hoặc yếu) không có ý nghĩa, tôi giả sử, vì vậy tôi loại bỏ chúng. Điều này hoạt động tốt trên Xcode 4.3, nhưng khi đồng nghiệp của tôi mở chúng trên XCode 4.2, trình biên dịch phàn nàn rằng không có từ khóa mạnh/yếu, vì vậy tôi đã hướng dẫn anh ta nhập vào từ khóa một cách vô nghĩa. Điều gì là chính xác (có hoặc không có từ khóa)?Tôi có cần từ khóa ARC cho các thuộc tính mà tôi không tổng hợp không?
Để rõ ràng: Tôi có tài sản như thế này @property (nonatomic) NSString *foo
và trong tệp .m Tôi triển khai -(NSString *)foo
và -(void)setFoo:(NSString *)foo
và KHÔNG bao gồm @synthesize foo
. Một chi tiết liên quan khác là không có iVar tương ứng, thay vào đó các thuộc tính tương tác với một đối tượng Dữ liệu cốt lõi. Điều này sẽ không biên dịch trong XCode 4.2 trừ khi tôi thêm mạnh hoặc yếu vào các từ khóa.
EDIT Tôi nghĩ về một điều có liên quan hơn, một trong những thuộc tính này là trên Giao thức, tôi không biết điều đó có tạo nên sự khác biệt hay không.
Thú vị ... Tôi sẽ thử thêm động và xem nó hoạt động trên XCode 4.2 – borrrden
+1, câu trả lời rất rõ ràng – jmstone617