2011-07-14 41 views
78

Tôi đang sử dụng phiên bản beta Xcode cho nhà phát triển và nhận thấy một số khác biệt tinh tế. Trong số đó là một thuộc tính mới cho các thuộc tính được khai báo.Thuộc tính tài sản mạnh

@property(strong)IBOutlet NSArrayController *arrayControl; 

Câu hỏi của tôi là: Thuộc tính mạnh có ý nghĩa gì ?? Nó có thay thế một số cũ hơn, hay nó là cái gì đó hoàn toàn mới? Tôi đã tìm kiếm thông qua google và các tài liệu phát triển và havent đã có thể tìm thấy bất cứ điều gì. Cho đến khi tôi biết tôi đang do dự khi sử dụng nó.

Cảm ơn trước

+1

Thật không còn khả năng nói về beta NDA thứ ở đây ... –

+3

Vâng, nó không thích im cho đi bí mật của công ty, nhưng yes i có lẽ đã đặt điều này trong táo dev diễn đàn –

+0

Tôi tiếp tục nhìn thấy những nhận xét "beta NDA" về mục tiêu c. Tôi thấy thật vui khi Apple cảm thấy cần phải bảo vệ bí mật c mục tiêu của mình (mọi người sắp chết để sao chép mục tiêu c!), Và thậm chí còn vui hơn khi các nhà phát triển cảm thấy cần phải đi khắp nơi để làm phiền mọi người về nó. – Jehan

Trả lời

4

Như chúng ta đã biết, chúng tôi không thể phát hành bất kỳ đối tượng nào trong dự án dựa trên ARC trong iOS 5. Vì vậy, khi chúng tôi muốn giữ lại bất kỳ đối tượng nào để sử dụng thêm ở giai đoạn sau và không muốn ARC xóa đối tượng khỏi bộ nhớ, sau đó chúng tôi đặt thuộc tính cho đối tượng là "Mạnh".

10

Tham chiếu mạnh là tham chiếu đến một đối tượng ngăn không cho nó bị phân phối lại. Nói cách khác, nó tạo ra một mối quan hệ chủ sở hữu. Trong khi trước đó bạn sẽ làm điều này:

**// Non-ARC Compliant Declaration 
@property(retain) NSObject *obj;** 

Theo ARC chúng ta làm như sau để đảm bảo một trường lớp mất một quyền sở hữu một đối tượng tham chiếu (ví dụ: để nó không thể được deallocated cho đến khi chủ sở hữu là).

**// ARC Compliant Declaration 
@property(strong) NSObject *obj;** 
Các vấn đề liên quan