2010-05-02 133 views
0

我在viewDidLoad方法中使用debbuger进行了检查,tracerTableView是0x0,我认为这意味着它是零。我不明白。我应该去ahaed说是的,我已经检查了我的笔尖文件,是的所有的连接都是正确的。这是头文件和.m的请求。为什么我的UITableView没有设置?

.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

也许你有一个错字。下列行:

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

应该是:

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

为了清楚起见,在头文件,我将宣布表视图是一个界面生成器出口:

IBOutlet UITableView *tracerTableView; 

这样做之后,为了仔细检查,我还要确保XIB中的文件所有者(视图控制器)连接文件的所有者表视图。

1

该表已经是IBOutlet。您可以在两个地方指定这些地址,首先在声明中或在@property行中。所以这似乎是好的。

tableview连接到.h文件中的tracerTableView属性并正确地合成它们。

你如何加载ViewController。你是否用NibName初始化它?你可能也会发布这些代码吗?因为只是将其初始化为:

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

当您要使用笔尖时似乎无法工作。尝试使用此代替:

TrackerListController* viewControl = [[TrackerListController alloc] 
initWithNibName:@"trackerListController" bundle:nil]; 
相关问题