Почему я получаю ошибку за это? - PullRequest
0 голосов
/ 15 мая 2009

Почему я получаю эти ошибки? альтернативный текст 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

Спасибо!

Ответы [ 2 ]

7 голосов
/ 15 мая 2009

Ваш объект (TableViewController) не имеет свойства с именем jokeTableView.

Чтобы получить доступ к jokeTableView с помощью специального оператора точки, оно должно быть свойством. В противном случае вам нужно получить к нему доступ, используя методы, совместимые с Key-Value-Coding, или напрямую, используя оператор -> (или просто использовать его как ivar без ссылки на себя):

jokeTableView.delegate = self;

или

self->jokeTableView.delegate = self;

или

[self jokeTableView].delegate = self;

или

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

Также обратите внимание, что вы устанавливаете розетку в инициализаторе, и это не будет работать. Вам нужно будет установить это в методе - [TableViewController awakeFromNib], поскольку self-> jokeTableView будет нулевым, когда фактически вызывается инициализатор (что происходит в IB до сериализации объекта в файл nib).

0 голосов
/ 15 мая 2009

Поскольку вы делаете это во время инициализации, выходы должны быть NULL, поэтому эта инициализация не должна ничего делать. Это должно быть сделано в ближайшее время из пробуждения.

...