web-dev-qa-db-ja.com

強いプロパティ属性とは

私は開発者にXcodeベータ版を使用していますが、微妙な違いに気付いています。その中には、宣言されたプロパティの新しい属性があります。

@property(strong)IBOutlet NSArrayController *arrayControl;

私の質問は、強い属性とはどういう意味ですか?それは古いものを置き換えますか、それともまったく新しいものですか?私はグーグルと開発者ドキュメントを検索しましたが、何も見つかりませんでした。私はそれが何であるかを知るまで、それを使用することをheしています。

前もって感謝します

79
Chance Hudson

Objective-C自動参照カウント(ARC) の一部として、retain属性の代わりになります。非ARCコードでは、retainの同義語にすぎません。

95
Lily Ballard

強い参照とは、オブジェクトの割り当て解除を停止するオブジェクトへの参照です。つまり、所有者関係が作成されます。以前はこれを行いましたが:

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

ARCでは、クラスインスタンスが参照オブジェクトの所有権を取得するために次のことを行います(つまり、所有者が解放されるまで割り当てを解除することはできません)。

**// ARC Compliant Declaration
@property(strong) NSObject *obj;**
10
Jack Farnandish

知っているように、iOS 5のARCベースのプロジェクトではオブジェクトをリリースできません。したがって、後の段階でさらに使用するためにオブジェクトを保持し、ARCがメモリからオブジェクトを削除したくない場合は、 「Strong」としてのオブジェクトのプロパティ。

4
sanjeev sharma