2015-05-14 5 views
2

У меня есть WKInterfaceController и я добавил таблицу следующим образом:WKInterfaceTable никогда не вызывается в WKInterfaceController

// .h 

@interface InterfaceController : WKInterfaceController 
@property (weak, nonatomic) IBOutlet WKInterfaceTable *table; 
@end 

// .m 
- (void)table:(WKInterfaceTable *)table didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSLog(@"did select"); 
} 

- (void)table:(WKInterfaceTable *)table 
didSelectRowAtIndex:(NSInteger)rowIndex{ 
    NSLog(@"did select new"); 
} 

Однако ни один из этих двух методов вызывается. Мне не удалось найти какое-либо объявление протокола для WKInterfaceTable и ни одно свойство делегата в таблице.

Есть что-то, что мне не хватает здесь?

ответ

5

Я узнал, что метод никогда не вызывался, потому что я установил сегу, которая будет срабатывать при выборе строки в построителе интерфейса.

Похоже, что при отсутствии делегатов и табличных протоколов после того, как вы установите делегат, он перестает вызывать метод didSelectRow.

3

В WKInterfaceController документе Apple, говорится, что, если у вас нет каких-либо действий или перетекает то метод называется это: - таблица: didSelectRowAtIndex:

Если вы используете перетекает то методы называются следующие:

Для кнопок: - contextForSegueWithIdentifier:

Для таблиц: - contextForSegueWithIdentifier: inTable: RowIndex: