Почему я получаю ошибку за это?

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

Решение

Ваш объект (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).

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

Другие вопросы по тегам