2

復活させたい古いプロジェクトがあり、それをARCに変換していて、保存ボタンを押す前に何かを確認したいと思っています。

リファクタリングツールは、すべての「保持された」プロパティをから変換しました

@property (nonatomic, retain) UIButton *myButton;

@property (nonatomic) UIButton *myButton;

そしてそれらのどれもstrong属性を取得しませんでした。

私はこのARCのことを初めて知っています。ドキュメントから、ここ:プロパティ宣言属性strong、宛先オブジェクトとの強い(所有)関係があることを指定していることがわかりました。それが私が望んでいることですが、私が言ったように、リファクタリングツールは何もしていません。

コードは同じように機能しますか、それとも保持をストロングで検索/置換する必要がありますか?

ご協力いただきありがとうございます。

4

3 に答える 3

2

あなたは間違いなくstrongあなたのクラスの保持されたプロパティを置きたいです。デフォルトはですがassign、これはおそらくあなたが望むものではありません。

于 2012-04-18T09:15:14.673 に答える
1
@property (nonatomic, strong) UIButton *myButton;

strong , weak & unsafe_unretained詳細については、ARCでiOS5を参照してください。

ARCが有効になっていて、一部のページがARCをサポートしていないプロジェクトを作成する場合は、このコマンドを使用して、特定のファイルのARCがARCに含まれるようにします。-fno-objc-arc

于 2012-04-18T09:08:20.963 に答える
0

プロパティ内のオブジェクトへの強力な参照が必要かどうかによって異なります。これは、セッターを実装する方法にすぎません。(保持の有無にかかわらず)これは、クラスのインスタンスの割り当てが解除されるまで、割り当てたオブジェクトが解放されないことを意味します。デフォルトでは、プロパティが割り当てられています。しかし、繰り返しになりますが、ARCではこれについてあまり心配する必要はありません。私は強い人と一緒に安全に行きます。

于 2012-04-18T09:14:41.297 に答える