Binding 如何绑定NSObject<;EAAccessoryDelegate、NSStreamDelegate>;单点触控?
我正在尝试绑定一个库,我对.h文件有以下定义Binding 如何绑定NSObject<;EAAccessoryDelegate、NSStreamDelegate>;单点触控?,binding,xamarin.ios,xamarin,Binding,Xamarin.ios,Xamarin,我正在尝试绑定一个库,我对.h文件有以下定义 @interface FbFAccessoryController : NSObject <EAAccessoryDelegate, NSStreamDelegate> { id <FbFmobileOneDelegate> _delegate; BOOL ScannerStarted; } @property (nonatomic, assign) id <FbFmobileOneDeleg
@interface FbFAccessoryController : NSObject <EAAccessoryDelegate, NSStreamDelegate> {
id <FbFmobileOneDelegate> _delegate;
BOOL ScannerStarted;
}
@property (nonatomic, assign) id <FbFmobileOneDelegate> delegate;
@property (readonly, nonatomic) BOOL Version1b;
- (BOOL)mobileOneConnected;
@property (readonly, nonatomic) NSNumber *VoltIndex;
@property (readonly, nonatomic) BOOL ScannerStarted;
- (void)startScanner;
- (void)stopScanner;
- (void)checkBattery;
@end
协议应该用
[Model]
属性修饰,这样您就可以像实现接口一样实现它们
因此,如果不使用ObjectiveSharpie,它应该如下所示:
[BaseType(typeof(NSObject))]
接口FbFAccessoryController:EAAccessoryDelegate、NSStreamDelegate{
[导出(“委托”,ArgumentSemantic.Assign)]
FbFmobileOneDelegate委托{get;set;}
// ... //
}
假设代理的定义如下:
[Model]//看,没有基类型
接口EAAccessoryDelegate{
//[出口]您需要什么
}
[型号]
接口NSStreamDelegate{
//[出口]您需要什么
}
@class FbFAccessoryController;
@protocol FbFmobileOneDelegate <NSObject>
@required
- (void) mobileOneAccessoryController:(FbFAccessoryController *)mobileOne didChangeConnectionStatus:(BOOL)connected;
- (void) mobileOneAccessoryController:(FbFAccessoryController *)mobileOne didReceiveData:(NSData *)data;
@optional
- (void) mobileOneAccessoryController:(FbFAccessoryController *)mobileOne didReceiveError:(NSError *)error;
- (void) mobileOneAccessoryController:(FbFAccessoryController *)mobileOne didReceiveScannerStartStop:(BOOL)started;
- (void) mobileOneAccessoryController:(FbFAccessoryController *)mobileOne didReceiveDataSpin:(BOOL)started;
@end
public partial interface FbFAccessoryController : EAAccessoryDelegate, NSStreamDelegate {
[Export ("delegate", ArgumentSemantic.Assign)]
FbFmobileOneDelegate Delegate { get; set; }
[Static, Export ("sharedController")]
FbFAccessoryController SharedController { get; }
[Export ("Version1b")]
bool Version1b { get; }
[Export ("mobileOneConnected")]
bool MobileOneConnected { get; }
[Export ("VoltIndex")]
NSNumber VoltIndex { get; }
[Export ("ScannerStarted")]
bool ScannerStarted { get; }
[Export ("startScanner")]
void StartScanner ();
[Export ("stopScanner")]
void StopScanner ();
[Export ("checkBattery")]
void CheckBattery ();
}