WatchKit表numberOfRows返回0

时间:2016-09-13 15:38:16

标签: objective-c watchkit

我的WatchKit测试应用程序中有一个简单的表,每个TableRowController只有一个标签。当我尝试设置标签的文本时,我无法遍历表视图的行,因为table.numberOfRows返回0.

然而,调用[self.table setNumberOfRows:x withRowType:@"RowController"];的行数被设置为x的任何数字。这证实了IB对self.table的引用是有效的。

可能是什么问题?

这是我的代码:

- (void)awakeWithContext:(id)context {
    [super awakeWithContext:context];

    // Configure interface objects here.

    [self configureTableWithData];
}

- (void)willActivate {
    // This method is called when watch view controller is about to be visible to user

    [super willActivate];
}

- (void)didDeactivate {
    // This method is called when watch view controller is no longer visible
    [super didDeactivate];
}

- (void)configureTableWithData {
    [self.table setNumberOfRows:1 withRowType:@"RowController"];
    NSLog(@"%i",self.table.numberOfRows);
    for (NSInteger i = 0; i < self.table.numberOfRows; i++) {
        TableRowController* theRow = [self.table rowControllerAtIndex:i];
        [theRow.timeLabel setText:@"Hello!"];
    }
}

2 个答案:

答案 0 :(得分:1)

问题实际上非常简单,但很难追查。事实证明我的TableRowController类不是我的WatchKit扩展的目标成员,只是我的主应用程序。

答案 1 :(得分:0)

在Swift中,您还必须检查该模块是否对当前的WatchKit扩展有效。