我的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!"];
}
}
答案 0 :(得分:1)
问题实际上非常简单,但很难追查。事实证明我的TableRowController
类不是我的WatchKit扩展的目标成员,只是我的主应用程序。
答案 1 :(得分:0)
在Swift中,您还必须检查该模块是否对当前的WatchKit扩展有效。