我正在扩展NameAndPassword示例(https://github.com/skycocker/NameAndPassword),我需要在此实现文件中访问ibluetooth方法:https://github.com/skycocker/NameAndPassword/blob/master/NameAndPasswordPlugin.m
界面是这样的:
@interface EXNameAndPassword : SFAuthorizationPluginView
我如何使它从CBCentralManagerDelegate
继承像appdelegate:
@interface AppDelegate : NSObject <CBCentralManagerDelegate, CBPeripheralDelegate>
我需要EXNameAndPassword
从SFAuthorizationPluginView和CBCentralManagerDelegate和东西继承。我相信这很简单,我只是一个obj-c初学者。我读过关于作文的书,但是我不会用。
我现在拥有的是
@interface EXNameAndPassword : SFAuthorizationPluginView <CBCentralManagerDelegate, CBPeripheralDelegate>
但我不断得到关于属性非合成的警告-我没有在我的项目中合成它们,不需要SFAuthorizationPluginView
继承,因此我想我做错了。
"properties non synthesised"警告与协议中定义的属性有关。
在类中@属性在实现中自动@合成,但在协议中,合成是符合类的责任,因此添加:
@synthesize protocolPropertyName = _protocolPropertyName;
in EXNameAndPassword.m
我明白了。
@interface EXNameAndPassword : SFAuthorizationPluginView <CBCentralManagerDelegate, CBPeripheralDelegate>
非常好,我只需要在构建设置中禁用x86_64以外的架构。
来源:http://www.cocoabuilder.com/archive/cocoa/198573-property-problem.html