2010-05-02 175 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]; 
相關問題