1

私は Obj-C と Xcode 4 の初心者で、現在Mac Dev Web サイトの「初めての Mac アプリケーション」を調べています。私はなんとか主要部分を通過しましたが、「アプリケーションデリゲートのリファクタリング」セクションで苦労しています。

(コントローラーとして使用する) 新しいクラスを作成し、この新しいクラスにオブジェクト セットを追加し、クラスからスライダー、ミュート ボタン、テキスト フィールドへの接続を作成し、新しいクラス オブジェクトをアプリ デリゲートに接続しました。インターフェイスファイル。

残念ながら、track クラスのインスタンスが作成されないため、awakeFromNib 関数が呼び出されないため、プログラムは機能しません。アプリデリゲートファイルと新しいコントローラークラスの両方に配置しようとしました。

どこが間違っているのですか?

4

2 に答える 2

0

新しいクラスのインスタンスをIBで作成するか、プログラムでAppDelegateオブジェクト(通常はinitまたはawakeFromNib)で作成する必要があります。AppDelegateにそのオブジェクトへのポインターが必要です。IBで新しいオブジェクトを作成する場合は、それをIBのTrack*ポインターに接続します。コードで行うと、次のようになります。

.hファイル内:

TrackClass *track;

.mファイル内:

track = [[Track alloc] init];

どちらをしましたか?

于 2011-08-26T18:38:31.070 に答える
0

チュートリアルを試しているときに同じ問題が発生しましたが、問題は次の実装にあることがわかりました。awakeFromNib

不正なコード:

- (void)awakeFromNib:(NSNotification *)aNotification

正しいコード

- (void)awakeFromNib

の実装を渡す引数があってはなりませんawakeFromNib

于 2012-04-03T22:52:58.680 に答える