WatchKit Table 为空白
WatchKit Table is Blank
我正在尝试在 WatchKit 上创建一个 table。由于某种原因,该应用程序在 WatchKit 中启动时只是空白。我已经确认这是一个 table 问题(我添加了一个静态标签并且能够看到它)。我相信我也已正确连接所有 IBOutlets。我做错了什么?
我的 InterfaceController.h 上有以下代码:
@interface InterfaceController : WKInterfaceController {
NSMutableArray *listArray;
}
@property (weak, nonatomic) IBOutlet WKInterfaceTable *playlistTable;
InterfaceController.m:
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
// Configure interface objects here.
listArray = [[NSMutableArray alloc] initWithObjects:@"Hello", @"Watch", @"World", nil];
[self setupTable];
}
- (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)setupTable {
[self.playlistTable setRowTypes:listArray];
for (int i = 0; i < self.playlistTable.numberOfRows; i++)
{
universalRow *row = [self.playlistTable rowControllerAtIndex:i];
[row.mainTitle setText:[listArray objectAtIndex:i]];
[row.subtitleLabel setText:@"subtitle!"];
}
}
和 NSObject 行 class 'universalRow':
@interface universalRow : NSObject {
}
@property (nonatomic, weak) IBOutlet WKInterfaceLabel *mainTitle;
@property (nonatomic, weak) IBOutlet WKInterfaceLabel *subtitleLabel;
@end
setRowTypes:
接受一个字符串数组,这些字符串是您在故事板中分配给行控制器的每个名称,而不是您要放入行中的数据。
您可能需要 [self.playlistTable setNumberOfRows:listArray.count withRowType:@"RowType"]
,其中 @"RowType"
是您在故事板中为行控制器指定的任何名称。
原来我没有在故事板中设置行控制器的标识符。一旦我这样做了,它就按预期工作了。
我正在尝试在 WatchKit 上创建一个 table。由于某种原因,该应用程序在 WatchKit 中启动时只是空白。我已经确认这是一个 table 问题(我添加了一个静态标签并且能够看到它)。我相信我也已正确连接所有 IBOutlets。我做错了什么?
我的 InterfaceController.h 上有以下代码:
@interface InterfaceController : WKInterfaceController {
NSMutableArray *listArray;
}
@property (weak, nonatomic) IBOutlet WKInterfaceTable *playlistTable;
InterfaceController.m:
- (void)awakeWithContext:(id)context {
[super awakeWithContext:context];
// Configure interface objects here.
listArray = [[NSMutableArray alloc] initWithObjects:@"Hello", @"Watch", @"World", nil];
[self setupTable];
}
- (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)setupTable {
[self.playlistTable setRowTypes:listArray];
for (int i = 0; i < self.playlistTable.numberOfRows; i++)
{
universalRow *row = [self.playlistTable rowControllerAtIndex:i];
[row.mainTitle setText:[listArray objectAtIndex:i]];
[row.subtitleLabel setText:@"subtitle!"];
}
}
和 NSObject 行 class 'universalRow':
@interface universalRow : NSObject {
}
@property (nonatomic, weak) IBOutlet WKInterfaceLabel *mainTitle;
@property (nonatomic, weak) IBOutlet WKInterfaceLabel *subtitleLabel;
@end
setRowTypes:
接受一个字符串数组,这些字符串是您在故事板中分配给行控制器的每个名称,而不是您要放入行中的数据。
您可能需要 [self.playlistTable setNumberOfRows:listArray.count withRowType:@"RowType"]
,其中 @"RowType"
是您在故事板中为行控制器指定的任何名称。
原来我没有在故事板中设置行控制器的标识符。一旦我这样做了,它就按预期工作了。