1

XCode 4.3.2 を使用して最初の iOS 5.1 アプリケーションを実装しており、奇妙な XCode インターフェイス ビルダーの動作を試しています。

インターフェイス ビルダーで NIB ファイルを使用して ViewController を作成しました。UI オブジェクトを ViewController .h に接続して IBOutlet プロパティを作成すると、アウトレット プロパティを設定するダイアログ ウィンドウに Storage フィールドが表示されません。

明確にするために、インターフェイス ビルダーは次のダイアログを表示します。

スクリーンショット 1

これの代わりに:

スクリーンショット 2

その結果、インターフェイス ビルダーによって生成されるコードは次のようになります。

@property (unsafe_unretained, nonatomic) IBOutlet UILabel *labelName;

私が期待しているコードは次のとおりです。

@property (weak, nonatomic) IBOutlet UILabel *labelName;

この動作は数日から 1 つのプロジェクトでのみ発生し始めます。そのため、プロジェクトの設定を誤って変更したのではないかと疑っています。

ARC コードを生成するために XCode Interface Builder の動作を復元する方法はありますか?

前もって感謝します。

4

2 に答える 2

0

ARCプロジェクト/ターゲット設定をオフにした可能性があります。に切り替えるとYes、フィールドに戻りStorageます。

ここに画像の説明を入力してください

于 2012-05-22T08:56:33.790 に答える
0

あなたのターゲットは 4.x ですよね?その場合、weak を使用できないため、unsafe_unretained を使用します。unsafe_unretained がポインターを自動的に nil しないことを除いて、それらは同じですが、ユースケースでは特に問題になりません。

于 2012-05-22T07:25:36.327 に答える