0

これらのエラーが発生するのはなぜですか? 代替テキスト http://img39.imageshack.us/img39/2203/help.tif

それは言います:

エラー: 構造体または共用体ではないメンバー "jokeTableView" の要求

どういう意味ですか?そして、なぜそれは壊れています。initWithStyleについて読んでみましたが、追いつくことができました

ここに私の.hファイルがあります:

#import <UIKit/UIKit.h>


 @interface TableViewController : UITableViewController {

NSMutableArray *jokes;
IBOutlet UITableView *jokeTableView; 


 } 

 @property (nonatomic, retain) NSMutableArray *jokes;

 @end

ありがとう!

4

2 に答える 2

7

オブジェクト (TableViewController) には、jokeTableView という名前のプロパティがありません。

特別なドット演算子を使用して、jokeTableView にアクセスするには、プロパティである必要があります。それ以外の場合は、Key-Value-Coding 準拠のメソッドを使用するか、-> 演算子を使用して直接アクセスする必要があります (または、ivar として使用し、self への参照は使用しません)。

jokeTableView.delegate = self;

また

self->jokeTableView.delegate = self;

また

[self jokeTableView].delegate = self;

また

@property (retain) UITableView *jokeTableView;
// later...
self.jokeTableView.delegate = self;

ただし、イニシャライザでアウトレットを設定しているため、これは機能しないことに注意してください。-[TableViewController awakeFromNib] メソッドでこれを設定する必要があります。なぜなら、self->jokeTableView は、初期化子が実際に呼び出されたときに nil になるからです (これは、オブジェクトを nib ファイルにシリアル化する前に IB で発生します)。

于 2009-05-15T02:13:05.997 に答える
0

これは初期化時に行うため、アウトレットはNULLである必要があります。したがって、この初期化では何も実行されません。これは、できるだけ早くawakeFromNib時間に実行する必要があります。

于 2009-05-15T17:14:11.183 に答える