Почему мой UITableView не устанавливается? - PullRequest
0 голосов
/ 02 мая 2010

Я проверил использование debbuger в методе viewDidLoad, и tracerTableView равен 0x0, что, как я полагаю, означает, что это ноль. Я не понимаю Я должен пойти ahaed сказать да, я уже проверил мой файл пера, и да, все соединения правильные. Вот заголовочный файл и начало .m.

.h file

@interface TrackerListController : UITableViewController <AddPackageDelegate>{  

    // The mutable (modifiable) dictionary days holds all the data for the days tab  
    NSMutableArray *trackerList;  
    UITableView *tracerTableView;  
}


@property (nonatomic, retain) NSMutableArray *trackerList;  
@property (nonatomic, retain) IBOutlet UITableView. *tracerTableView;

//The addPackage: method is invoked when the user taps the addbutton created at runtime.

-(void) addPackage : (id) sender;

@end

.m файл

@implementation TrackerListController

@synthesize trackerList, tracerTableView;


- (void)viewDidLoad {


    [super viewDidLoad];

    self.title = @"Package Tracker";  

    self.navigationItem.leftBarButtonItem = self.editButtonItem; 

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addPackage:)];

    // Set up the Add custom button on the right of the navigation bar
    self.navigationItem.rightBarButtonItem = addButton;

    [addButton release];  
    // Release the addButton from memory since it is no longer needed

}

Ответы [ 2 ]

1 голос
/ 03 мая 2010

Таблица уже является IBOutlet. Вы можете указать их в 2 местах, сначала в объявлении или в строке @property. Так что это выглядит нормально.

Вид таблицы связан со свойством tracerTableView в файле .h, и вы правильно их синтезируете.

Как вы загружаете ViewController. Вы начинаете это с NibName? Не могли бы вы опубликовать этот код тоже? Потому что просто инициализируем его как:

TrackerListController* viewControl = [[TrackerListController alloc] init];

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

TrackerListController* viewControl = [[TrackerListController alloc]
initWithNibName:@"trackerListController" bundle:nil];
0 голосов
/ 02 мая 2010

Возможно, у вас есть опечатка. Следующая строка:

@property (nonatomic, retain) IBOutlet UITableView. *tracerTableView;

должно быть:

@property (nonatomic, retain) IBOutlet UITableView *tracerTableView;

Для ясности, в заголовочном файле я бы объявил табличное представление как выход Interface Builder:

IBOutlet UITableView *tracerTableView;

После этого, чтобы перепроверить, я также должен убедиться, что Владелец файла (контроллер представления) в вашей XIB подключен от Владелец файла к Таблице Просмотр.

...