【问题标题】:Why is my UITableView not being set?为什么我的 UITableView 没有设置?
【发布时间】:2011-02-14 16:42:55
【问题描述】:

我在 viewDidLoad 方法中使用调试器进行了检查,tracerTableView 为 0x0,我认为这意味着它为零。我不明白。我应该说是的,我已经检查了我的笔尖文件,是的,所有的连接都是正确的。这是头文件和.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

}

【问题讨论】:

    标签: iphone objective-c cocoa-touch ipod-touch


    【解决方案1】:

    该表已经是一个 IBOutlet。您可以在 2 个地方指定它们,首先在声明中或在 @property 行中。所以看起来没问题。

    tableview 连接到 .h 文件中的 tracerTableView 属性,您可以正确合成它们。

    如何加载 ViewController。你用 NibName 初始化它吗?您也可以发布该代码吗?因为只需将其初始化为:

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

    当您想使用笔尖时似乎不起作用。尝试改用这个:

    TrackerListController* viewControl = [[TrackerListController alloc]
    initWithNibName:@"trackerListController" bundle:nil];
    

    【讨论】:

      【解决方案2】:

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

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

      应该是:

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

      为了清楚起见,在头文件中,我将表视图声明为 Interface Builder 出口:

      IBOutlet UITableView *tracerTableView;
      

      完成此操作后,为了仔细检查,我还将确保您的 XIB 中的文件所有者(视图控制器)连接到文件所有者表格视图。

      【讨论】:

        猜你喜欢
        • 2011-10-21
        • 2014-01-03
        • 2012-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多