'WKinterfaceGroup' 没有可见的@interface 声明选择器:iOS 8.3 中有什么变化吗?
No visible @interface for 'WKinterfaceGroup' declares the selector: has something changed in iOS 8.3?
我正在使用 iOS SDK 8.3 并尝试按照 this tutorial 在手表套件应用程序中创建 table。
我在 iWatch 应用程序的界面控制器上添加了一个 Table,然后将其链接到我的界面控制器。我创建了一个自定义行 class 并将该行链接到行控制器 class。然后我在行中添加了几个项目并将它们链接到行控制器 class 中的插座。但是我得到了一些错误:
这是我的界面控制器class:
#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]];
}];
您的 devicesTable
被声明为 WKInterfaceGroup
which does support the methods you are calling. I am sure you meant to use WKInterfaceTable
。您可能无意中从组中拖出了 table 的连接,而不是 Interface Builder 中的 table。
看教程,好像有点懵了
使用的 WKInterfaceGroup
用于您创建的 "MyTableRowController"
子类。
主 "InterfaceController"
应该有 devicesTable 作为 WKInterfaceTable
Apple Doc 在 WKInterfaceTable
Apple Doc 在 WKInterfaceGroup
我正在使用 iOS SDK 8.3 并尝试按照 this tutorial 在手表套件应用程序中创建 table。
我在 iWatch 应用程序的界面控制器上添加了一个 Table,然后将其链接到我的界面控制器。我创建了一个自定义行 class 并将该行链接到行控制器 class。然后我在行中添加了几个项目并将它们链接到行控制器 class 中的插座。但是我得到了一些错误:
这是我的界面控制器class:
#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]];
}];
您的 devicesTable
被声明为 WKInterfaceGroup
which does support the methods you are calling. I am sure you meant to use WKInterfaceTable
。您可能无意中从组中拖出了 table 的连接,而不是 Interface Builder 中的 table。
看教程,好像有点懵了
使用的 WKInterfaceGroup
用于您创建的 "MyTableRowController"
子类。
主 "InterfaceController"
应该有 devicesTable 作为 WKInterfaceTable
Apple Doc 在 WKInterfaceTable
Apple Doc 在 WKInterfaceGroup