我在viewDidLoad方法中使用debbuger进行了检查,并且tracerTableView是0x0,我认为这意味着它是零。我不明白。我应该去ahaed说是的我已经检查了我的nib文件,是的所有连接都是正确的。这是头文件和.m。
的乞讨.h文件
@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
}
答案 0 :(得分:1)
该表已经是IBOutlet。您可以在2个位置指定它们,首先在声明中或在@property行上指定。所以这似乎没问题。
tableview连接到.h文件中的tracerTableView属性,你可以正确地合成它们。
如何加载ViewController。你用NibName初始化它吗?你也可以发布那些代码吗?因为只是将其初始化为:
TrackerListController* viewControl = [[TrackerListController alloc] init];
当您想要使用笔尖时似乎无法工作。请尝试使用此代码:
TrackerListController* viewControl = [[TrackerListController alloc]
initWithNibName:@"trackerListController" bundle:nil];
答案 1 :(得分:0)
也许你有一个错字。以下一行:
@property (nonatomic, retain) IBOutlet UITableView. *tracerTableView;
应该是:
@property (nonatomic, retain) IBOutlet UITableView *tracerTableView;
要清楚,在头文件中,我会将表视图声明为Interface Builder插座:
IBOutlet UITableView *tracerTableView;
执行此操作后,要仔细检查,我还要确保XIB中的文件所有者(视图控制器)已连接从文件所有者连接到表视图。