1

これは私が今まで見た中で最も奇妙なものでなければなりません。そこで、IB で作成されたオブジェクトからイベント ハンドラーをセットアップし、次のようなコードを記述します。

[connectedObjectViaIB setBackgroundColor:[UIColor blackColor]];

も試しました:

connectedObjectViaIB.backgroundColor = [UIColor blackColor];

また、イベント ハンドラーが呼び出され、このコード (ブレークポイントでテスト済み) を通過しても、背景は設定されません。コンセントは接続されているように見えますが、接続されていないようです。これは、他のいくつかの IB オブジェクトと他のプロパティ セッターで発生しています。誰もこれを経験しましたか?

4

1 に答える 1

4

その音 (コードは実行されていますが、変更は見られません) から、このコードを呼び出すのが早すぎます。

viewDidLoadビュー コントローラでは、ベースが実行されるまでアウトレットは接続されません。それまでは、すべてのアウトレット変数の値は nil になります。

あなたのようなコードが機能しない一般的なケースは、prepareForSegueメソッドから呼び出す場合です。宛先のビュー コントローラーのビューがまだ読み込まれていないため、アウトレットは nil です。

もう 1 つは、新しいコントローラーを初期化した直後です。これも、ビューがまだ読み込まれていません。

于 2012-05-28T07:13:20.643 に答える