Khi bạn đọc here trong hầu hết các trường hợp, IBOutlet
sẽ yếu.IBOutlet cho NSTextView trong dự án ARC
Bây giờ bạn có thể đọc trong development library không phải tất cả các lớp đều hỗ trợ các tham chiếu yếu. (ví dụ: NSTextView). Điều này có nghĩa bạn phải sử dụng assign:
@property (assign) IBOutlet NSTextView *textView;
Nếu bạn sử dụng một tài liệu tham khảo yếu, bạn sẽ nhận được lỗi sau: "Tổng hợp các thuộc tính yếu không có là không được phép vì nó đòi hỏi sự tổng hợp của một Ivar của đối tượng __weak "
Tài liệu nào bị bỏ lỡ là bây giờ bạn phải đặt thuộc tính lại thành 0 sau khi sử dụng, ví dụ: bởi một phương pháp dealloc
:
- (void)dealloc
{
self.textView = nil;
}
Theo như tôi hiểu các lớp học được đánh dấu bằng NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE
không hỗ trợ tài liệu tham khảo yếu nhưng lý do là gì?
Theo bài đăng được liên kết, 'IBOutlets' sẽ được ** mạnh ** theo mặc định! – Jay