2015-06-06 3 views
0

Я пытаюсь создать таблицу на WatchKit. По какой-то причине приложение просто пустое при запуске в WatchKit. Я подтвердил, что это проблема таблицы (я добавил статическую метку и смог ее увидеть). Я считаю, что все IBOutlets правильно подключены. Что я делаю не так?Таблица WatchKit пуста

У меня есть следующий код на моем 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 класс строки 'universalRow':

@interface universalRow : NSObject { 

} 

@property (nonatomic, weak) IBOutlet WKInterfaceLabel *mainTitle; 
@property (nonatomic, weak) IBOutlet WKInterfaceLabel *subtitleLabel; 

@end 

ответ

1

Оказывается, я не установил идентификатор Row Controllers в раскадровке. Как только я это сделал, он работал по назначению.

enter image description here

1

setRowTypes: принимает массив строк, которые являются именами, которые вы назначили контроллерам строк в рассказчике d, а не данные, которые вы собираетесь ввести в строку.

Возможно, вы захотите [self.playlistTable setNumberOfRows:listArray.count withRowType:@"RowType"], где @"RowType" - это то, что вы указали контроллеру строки в раскадровке.

Смежные вопросы