2012-03-22 5 views
1

У меня возникли проблемы с попыткой кода в моем столеView. Я объясню ... Я использую раскадровку и хочу сделать RSS-канал на моей второй вкладке. Я бегу через учебник Ray W для RSS поток здесь RSS TutorialUIView и UITableView

Storyboard

Я почти закончил с ASIHTTPRequest части урока, и я до того момента, когда мне нужно, чтобы написать этот бит кода

`- (недействительными) requestFinished: (ASIHTTPRequest *) запрос {

RSSEntry *entry = [[[RSSEntry alloc] initWithBlogTitle:request.url.absoluteString 
              articleTitle:request.url.absoluteString 
              articleUrl:request.url.absoluteString 
              articleDate:[NSDate date]] autorelease];  
int insertIdx = 0;      
[_allEntries insertObject:entry atIndex:insertIdx]; 
[self.tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:insertIdx inSection:0]] 
         withRowAnimation:UITableViewRowAnimationRight]; 

}`

Моя про blem - ошибка, возникающая при вводе self.tableView. Ошибка: ** Свойство «Tableview» не найден на объект типа «SecondViewController»

Error **

файл SecondViewController.h имеет @interface SecondViewController : UIViewController {, так что я думаю, что именно поэтому ошибка появляется. Когда я удаляю @interface часть UITableViewController, ошибка исчезает, но когда я запускаю проект и нажимаю на вкладку RSS-канал, он вылетает со следующей ошибкой. Terminating app due to uncaught exception 'NSInternalInconsistencyException'

У кого-нибудь есть исправление для этого? Благодарю.

+0

Посмотрите на текст исключения. Если вы используете подкласс 'UITableViewController', его свойство' view' ** должно быть экземпляром 'UITableView'. С другой стороны, можно сделать подкласс 'UIViewController' в делетете/dataSource табличного представления, которое является подчиненным его основным видом; просто объявляйте, что он соответствует 'UITableViewDelegate' и' UITableViewDataSource' и идет о реализации методов делегирования обычным способом. Вы просто не получите свойство 'tableView' автоматически, но вы всегда можете создать свою собственную« UITableView »и подключить ее самостоятельно. – warrenm

+0

@warrenm: Спасибо за ваш быстрый ответ. Извините, но я абсолютный noob. Можете ли вы, пожалуйста, убедить меня в том, что мне нужно сделать более простым способом? Еще раз спасибо. –

+0

Я думаю, что я это сделал. Я сделал UITableViewDelegate и DataSource бит @interface файла .h. Тогда под этим я написал UITableViewController * tableViewController; а затем в .m файле я заменил self.tableView на tableViewController.tableView. Это верно? –

ответ

0

Пожалуйста, добавьте Tableview как свойство в sendViewController, а затем установить его источник данных с учетом нагрузки было как:

добавить в SecondViewController.h

@property (weak) IBOutlet UITableView *tableView; 

добавить в SecondViewController.h

-(void)viewDidLoad 
{ 
    self.tableView.dataSource = self; 
    . 
    . 
    . 
    . 
    .// your code here... 
} 

и, наконец, подключите это табличное представление в своем построителе интерфейса с видом таблицы.

Надеюсь, что это поможет ... :)

Смежные вопросы