Objective-C库多重继承

Objective-C库多重继承,objective-c,cocoa,inheritance,sfauthorizationpluginview,Objective C,Cocoa,Inheritance,Sfauthorizationpluginview,我正在扩展NameAndPassword示例(),需要访问此实现文件中的IOBluetooth方法: 界面如下所示: @interface EXNameAndPassword : SFAuthorizationPluginView 如何使其继承自appdelegate中的CBCentralManagerDelegate: @interface AppDelegate : NSObject <CBCentralManagerDelegate, CBPeripheralDelegate&g

我正在扩展NameAndPassword示例(),需要访问此实现文件中的IOBluetooth方法:

界面如下所示:

@interface EXNameAndPassword : SFAuthorizationPluginView 
如何使其继承自appdelegate中的
CBCentralManagerDelegate

@interface AppDelegate : NSObject <CBCentralManagerDelegate, CBPeripheralDelegate>
但是我不断收到关于未合成属性的警告--我不必在我的项目中合成它们,因为我的项目不需要继承
SFAuthorizationPluginView
因此我猜我做错了什么。

未合成属性”警告与协议中定义的属性相关

在类中,@属性在实现中自动@合成,但在协议中,合成是一致类的责任,因此添加:

@synthesize protocolPropertyName = _protocolPropertyName;
EXNameAndPassword.m

中,我遇到了问题

@interface EXNameAndPassword : SFAuthorizationPluginView <CBCentralManagerDelegate, CBPeripheralDelegate> 
@接口ExName和密码:SFAuthorizationPluginView
很好,我只需要在构建设置中禁用除x86_64之外的体系结构


来源:

在接口中,我连接了
@property(非原子,强)NSString*,并在实现中
@synthesis connected=\u connected。这样我就得到了“合成属性'connected'必须与兼容实例变量命名相同,或者必须显式命名实例变量”我不太确定这个错误,但这个问题似乎表明它与64位更改有关:需要澄清,Obj-C不支持多重继承,只能从一个类继承(在您的例子中,ExName和Password从SFAuthorizationPluginView继承,AppDelegate从NSObject继承)。您所做的是声明您的类所遵循的多个协议(协议不是Obj-C中的类)。
@interface EXNameAndPassword : SFAuthorizationPluginView <CBCentralManagerDelegate, CBPeripheralDelegate>