В выбранном ряду WKInterfaceTable передать данные на Iphone
Я делаю приложение для часов для iOS. Я получаю данные из родительского приложения в watch main InterfaceController и передаю их другому InterfaceController для создания таблицы. Вот код таблицы настроек:
- (void)configureTableWithData:(NSArray*)dataObjects {
[self.table setNumberOfRows:[dataObjects count] withRowType:@"rowType"];
for (NSInteger i = 0; i < self.table.numberOfRows; i++) {
RowType* row = [self.table rowControllerAtIndex:i];
NSObject* object = [dataObjects objectAtIndex:i];
[row.titleName setText:[object valueForKey:@"CharCode"]];
[row.bottomValue setText:[object valueForKey:@"Value"]];
}
}
Когда я выбираю строку, я хочу перенести данные обратно на первую страницу. Необходимо поменять ярлык на первой странице. Я делаю это с передачей данных в родительское приложение и возвращаю их обратно в основной InterfaceController
- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex {
//Here must be dictionary, where I put row
[WKInterfaceController openParentApplication:data reply:^(NSDictionary *replyInfo, NSError *error) {
NSLog(@"data transfer");
}];
[self dismissController];
}
Как я могу получить данные строки? (row.titleName, row.value) Может быть, это глупый вопрос, я все еще новичок, но я могу его получить. Я попытался напечатать на консоли row.titleName и row.bottomValue и, конечно, я ничего не получил. (извините за мой английский, а не за мой родной язык) Что я пропустил?
1 ответ
У меня та же проблема с комплектом часов в таблице. Пока мы только устанавливаем текст в метке ячейки, но не возвращаемся, поэтому вы должны сделать это так
- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex {
//Here must be dictionary, where I put row
NSDictionary* object = [dataObjects objectAtIndex:rowIndex];
NSLog("used object as you want");
[WKInterfaceController openParentApplication:object reply:^(NSDictionary *replyInfo, NSError *error) {
NSLog(@"data transfer");
}];
[self dismissController];
}