2015-04-15 1 views
0

Я использую iOS SDK 8.3 и пытаюсь следовать this tutorial, чтобы создать таблицу в приложении набора часов.Нет видимого @interface для 'WKinterfaceGroup' объявляет селектор: что-то изменилось в iOS 8.3?

Я добавил таблицу на интерфейсный контроллер приложения iWatch, а затем связал его с моим InterfaceController. Я создал собственный класс строк и связал строку с классом контроллера строк. Затем я добавил несколько элементов в строку и связал их с выходами в классе контроллера строк. Однако я получаю некоторые ошибки:

enter image description here

Это мой класс контроллера интерфейса:

#import <WatchKit/WatchKit.h> 
#import <Foundation/Foundation.h> 

@interface InterfaceController : WKInterfaceController 

@property (strong, nonatomic) NSArray *devicesArray; 

@property (weak, nonatomic) IBOutlet WKInterfaceGroup *devicesTable; 

@end 

И это код, который вызывает ошибку:

- (void)awakeWithContext:(id)context { 
    [super awakeWithContext:context]; 
    NSLog(@"%@ initWithContext", self); 
    self.devicesArray = @[@"type A", @"type B"]; 
    [self.devicesTable setNumberOfRows:self.devicesArray.count withRowType:@"MyTableRowController"]; 

    [self.devicesTable enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 

     MyTableRowController* row = [self.devicesTable rowControllerAtIndex:idx]; 

     [row.deviceType setText: (NSString*)obj]; 
     [row.logo setImage:[UIImage imageNamed:(NSString *)obj]]; 

    }]; 

enter image description here

ответ

1

Глядя на учебник, он, похоже, немного смущен.

WKInterfaceGroup который используется для "MyTableRowController" Подкласс, который вы создали.

Основной "InterfaceController" должен devicesTable как WKInterfaceTable

Apple, Док на WKInterfaceTable

Apple, Док на WKInterfaceGroup

+0

Большое спасибо, извините за основной вопрос – mm24

+1

Нет проблем. Учебник был немного запутанным, чтобы быть справедливым –

1

Объявлен ваш devicesTable как WKInterfaceGroup, который поддерживает методы, которые вы вызываете. Я уверен, что вы хотели использовать WKInterfaceTable. Вероятно, вы случайно перетащили соединение для своей таблицы из группы, а не из таблицы в Interface Builder.

+0

Большое спасибо, извините за основной вопрос – mm24