Sự khác biệt giữa strong
và weak
IBOutlets trong Xcode iOS 5.1 SDK là gì?Sự khác biệt giữa IBOutlets mạnh và yếu
Trước đây tôi đã sử dụng SDK 4.3, nơi không có IBOutlets mạnh. Ngoài ra, bản phát hành (tự động) không có sẵn trong SDK iOS 5.1.
Sự khác biệt giữa strong
và weak
IBOutlets trong Xcode iOS 5.1 SDK là gì?Sự khác biệt giữa IBOutlets mạnh và yếu
Trước đây tôi đã sử dụng SDK 4.3, nơi không có IBOutlets mạnh. Ngoài ra, bản phát hành (tự động) không có sẵn trong SDK iOS 5.1.
Strong
có nghĩa là miễn là thuộc tính này trỏ đến một đối tượng, đối tượng đó sẽ không được tự động phát hành. Trong phi ARC đó là một từ đồng nghĩa với retain
Chỉ định rằng có một mạnh (sở hữu) mối quan hệ với đối tượng đích.
Weak
thay vào đó, có nghĩa là đối tượng trỏ đến, được tự do phát hành nhưng chỉ khi thuộc tính đó đặt thuộc tính là NULL. Trong ARC, bạn sử dụng yếu để đảm bảo bạn không sở hữu đối tượng trỏ đến
Chỉ định mối quan hệ yếu (không sở hữu) với đối tượng đích . Nếu đối tượng đích được deallocated, giá trị thuộc tính được tự động đặt thành 0.
Nonatomic
có nghĩa là nếu nhiều chủ đề cố gắng đọc hoặc thay đổi thuộc tính cùng một lúc thì có thể xảy ra lỗi. Hậu quả là sẽ có các giá trị được viết từng phần hoặc các đối tượng quá mức = CRASH.
Hãy xem thêm here, at Apple's documents.
Từ đó, ví dụ là
@property (weak) IBOutlet MyView *viewContainerSubview;
@property (strong) IBOutlet MyOtherClass *topLevelObject;
Kiểm tra cũng this để biết thêm về strong
và weak
.
Trong ARC (đếm tham chiếu tự động) Strong
cho trình biên dịch biết mối quan hệ của chủ sở hữu tài sản là "mạnh". Nó tương đương với retain
trong lược đồ bộ nhớ tự động phân phối. Apple có bài viết về việc chuyển sang ARC here.
Thuộc tính mà bạn khai báo là mạnh, nó sở hữu đối tượng và trình biên dịch sẽ quan tâm đến bất kỳ đối tượng nào gán thuộc tính này. Tài sản này sẽ bị phá hủy khi chúng tôi thiết lập để không.
Khi bạn không muốn thời gian kiểm soát cuộc sống thì bạn khai báo thuộc tính tuần.
Bạn không thể so sánh mạnh mẽ và nonatomic. Tôi nghĩ bạn có nghĩa là sự khác biệt giữa mạnh và yếu. Bạn đã cố gắng đọc điều gì đó về nó trong tài liệu của Apple chưa? – dasdom
@dasdom ok các khác biệt tham chiếu yếu và mạnh hướng dẫn tôi hoặc bất kỳ liên kết tài liệu nào – Dinesh
Tự động phát hành và phát hành có sẵn trong iOS 5 nếu bạn tắt ARC. ARC là một tính năng có thể được bật hoặc tắt. – borrrden