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