2013-11-12 2 views
-1

Я получаю семантическую ошибку «свойство» tableView «не найден на объекте типа« XYZAddToDoItemViewController * ». Вот код для ToDoListViewController.m, где я получаю сообщение об ошибке:Семантическая ошибка - свойство не найдено на объекте типа

- (IBAction)unwindToList:(UIStoryboardSegue *)segue 
{ 
XYZAddToDoItemViewController *source = [segue sourceViewController]; 
XYZToDoItem *item = source.toDoItem; 
if (item != nil) { 
    [self.toDoItems addObject:item]; 
    [self.tableView reloadData]; 

} 
} 

Вот верх файла реализации:

#import "XYZToDoItem.h" 

#import "XYZAddToDoItemViewController.h" 

@interface XYZAddToDoItemViewController() 

@property NSMutableArray *toDoItems; 

@end 

@implementation XYZAddToDoItemViewController 

Вот XYZAddToDoItemViewController.h:

#import <UIKit/UIKit.h> 

#import "XYZToDoItem.h" 

@interface XYZAddToDoItemViewController : UIViewController 
@property XYZToDoItem *toDoItem; 
@end 

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, и заблаговременно за любую помощь, которую вы можете предложить!

+2

Я не вижу «tableView» в любом месте кода, который вы разрезали и вставили в этот вопрос. Где объявлено свойство «tableView»? –

+0

Я никогда не объявлял свойство «tableView», я понимаю, что это было унаследованное свойство. Файл реализации использует таблицуView в другом месте без ошибок, например здесь: - (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView { // Возвращает количество разделов. return 1; } – mvillaloboz

+0

@ user2651272 Если вы считаете, что это унаследованное свойство, вы должны быть подклассифицировать UITablViewController, а не UIViewController. https://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewController_Class/Reference/Reference.htmle – satheeshwaran

ответ

1

Я думаю, что вам нужен UITableViewController, где у вас есть свойство self.tableView.

+0

Благодарим вас за ответ. Я пробовал это раньше и при этом получаю сообщение об ошибке Apple Mach-O Linker: «Не удалось выполнить команду Link с кодом выхода 1» – mvillaloboz

+0

ok Какая ошибка компоновщика? Используете ли вы раскадровки, если вам тоже нужно внести изменения. – satheeshwaran

+0

Я считаю, что это три повторяющихся символьных ошибки (дубликат символа _OBJC_IVAR _ $ _ XYZAddToDoItemViewController._toDoItem в :). Да, я использую раскадровку, у меня есть правильный набор настраиваемых классов диспетчера представлений, кроме того, что я не уверен, что еще нужно дважды проверить на раскадровке. – mvillaloboz

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