2012-04-09 17 views
0

警告:初心者のXcodeに関する完全な質問です。 MainViewController.hXcodeでメンバーオブジェクトを作成しています:プログラム受信シグナル: "SIGABRT"

私は次の行を持っている:

IBOutlet作業項目* m_WIoneを。

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

私はWorkItemメソッドを呼び出すためのさまざまな方法を試してみましたが、最終的に落ち着いています

[m_WIoneがリセット];

ここで、Resetは、WorkItemの方法である。このメソッドは、WorkItem.hで次のように宣言されています。

- (void)Reset;

として

WorkItem.mで:

- (void)このメソッドにおけるコンテンツの有無にかかわらず、{}

をリセットし、アプリが常にでクラッシュ:

スレッド1:プログラム受信信号: "SIGABRT"。ロギングで

、読んだ:

をキャッチされない例外により 'NSInvalidArgumentException'、理由にアプリを終了: ' - [UILabelリセット]:未認識セレクタインスタンス0x6a5f9f0に送ら'

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

+0

Zaph:ここには含まれていないコードを追加してください。私は 'include'ステートメントを除いて、関連するすべてのコードを追加したと思います。私が追加すべきWorkItemクラスのようなものがありますか? – Wikis

+0

WorkItemのコード、m_WIoneのインスタンス化、メソッド 'Reset'。なぜ 'IBOutlet'なのか、あなたはその行が何をすると思いますか? – zaph

+0

ありがとう、ザフ、しかし、今は素晴らしい答えがあります。 – Wikis

答えて

2

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

アウトレットとして使用しているUILabelをクリックし、クラスを変更します(ここでのスクリーンショットはUITableView用ですが、UILabelでも同じです)。それは言われていると

Custom Class Property

、あなたが何をしようとしての選択肢があります。 UILabelを使う代わりに(最終的にはそれらの配列を作る予定です)。 UITableViewを使用してセルをカスタマイズするのはなぜですか(UITableViewはアイテムのリストを表示するのに最適です)。

+0

ありがとうJeff。私は少し前にUITableViewsを検討して拒否しましたが、あなたの提案に照らして私は再考するでしょう! – Wikis

関連する問題