0

警告: 完全な初心者 Xcode の質問。

MainViewController.h私は次の行を持っています:

IBOutlet WorkItem *m_WIone;

WorkItemから継承されたというクラスを作成しましたUILabel。上記の行は、m_WIone(最終的にはそのようなオブジェクトの配列になる) をメンバー変数として全体で使用できるようにするためのものMainViewControllerです。

メソッドを呼び出すさまざまな方法を試しましWorkItemたが、最終的には次の方法に落ち着きました。

[m_WIone リセット];

はメソッドですResetWorkItemメソッドは次のように宣言されWorkItem.hています。

-(void) リセット;

そして次のWorkItem.mように:

-(無効) {} をリセット

このメソッドのコンテンツの有無にかかわらず、アプリは常に次のようにクラッシュします。

スレッド 1: プログラム受信シグナル: "SIGABRT"。

ロギングで、私は読んだ:

キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[UILabel Reset]: 認識されないセレクターがインスタンス 0x6a5f9f0 に送信されました'

どうすればこれを解決できますか? このメンバー変数を正しく宣言していますか? (StackOverflow をトロールしても、解決策が見つかりません。)

4

1 に答える 1

2

NIB のカスタム クラスを指定しましたか? カスタム クラスを使用するには、XCode の Interface Builder のウィジェットが必要なようです。カスタム クラスの代わりに、デフォルト クラス (UILabel) のみがインスタンス化されます。

アウトレットとして使用している UILabel をクリックし、クラスを変更します (ここのスクリーンショットは UITableView のものですが、UILabel でも同じように機能するはずです)。

カスタム クラス プロパティ

そうは言っても、あなたがしようとしていることに代わるものがあります。UILabel を使用する代わりに (最終的にはそれらの配列を作成する予定です)。UITableView を使用してセルを適切にカスタマイズしてみませんか (UITableViews は項目のリストを表示するのに最適であるため)。

于 2012-04-09T19:56:12.673 に答える