Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xamarin.ios Xamarin的绑定StickNFind无法编译_Xamarin.ios_Xamarin - Fatal编程技术网

Xamarin.ios Xamarin的绑定StickNFind无法编译

Xamarin.ios Xamarin的绑定StickNFind无法编译,xamarin.ios,xamarin,Xamarin.ios,Xamarin,我正在尝试为StickNFind创建一个绑定,以便在基于Xamarin的项目中使用 有问题的类是LeDeviceManager,它继承了CBCentralManagerDelegate,后者是一个抽象类,UpdateState(m)方法不是绑定的一部分 以下是此类的Obj-C标题: interface LeDeviceManager : NSObject <CBCentralManagerDelegate> @property (nonatomic,strong) NSMutabl

我正在尝试为StickNFind创建一个绑定,以便在基于Xamarin的项目中使用

有问题的类是
LeDeviceManager
,它继承了
CBCentralManagerDelegate
,后者是一个抽象类,
UpdateState(m)
方法不是绑定的一部分

以下是此类的Obj-C标题:

interface LeDeviceManager : NSObject <CBCentralManagerDelegate>

@property (nonatomic,strong) NSMutableArray *devList;
@property (nonatomic)        CBCentralManager *btmgr;
@property (nonatomic,strong) id <LeDeviceManagerDelegate> delegate;

- (id)      initWithSupportedDevices: (NSArray *) devCls delegate: (id <LeDeviceManagerDelegate>) del;
- (void)    startScan;
- (void)    stopScan;

@end
我得到了这个错误: 错误CS0533:
StickNFind.LeDeviceManager.UpdatedState(MonoTouch.coreblutooth.CBCentralManager)'隐藏继承的抽象成员
MonoTouch.coreblutooth.CBCentralManager.UpdatedState(MonoTouch.coreblutooth.CBCentralManager)'(CS0533)(SNF_绑定)


如何解决此问题:

您好,您可以试试这个吗

[Protocol] // Added Protocol attribute
[Model]
[BaseType (typeof(NSObject))] //Changed BaseType to NSObject
public partial interface LeDeviceManager : ICBCentralManagerDelegate
{
    [Export ("devList", ArgumentSemantic.Retain)]
    NSMutableArray DevList { get; set; }

    [Export ("btmgr")]
    CBCentralManager Btmgr { get; set; }

    [Export ("delegate", ArgumentSemantic.Retain)]
    LeDeviceManagerDelegate Delegate { get; set; }

    [Export ("initWithSupportedDevices:delegate:")]
    IntPtr Constructor (NSObject[] devCls, LeDeviceManagerDelegate del);

    [Export ("startScan")]
    void StartScan ();

    [Export ("stopScan")]
    void StopScan ();

    [Export ("updatedState")] [New] // Notice I changed UpdatedState to updatedState lowercase u
    void UpdatedState(CBCentralManager mgr);
}

我强烈建议您阅读

的绑定协议部分,您是否完成了此绑定?我需要同样的东西,如果你已经做了,我不想重新发明轮子。我确实设法克服了那个错误,但后来我在SNF SDK中遇到了另一个关于一些重复名称的错误,我放弃了。我在使用SNF时遇到了很多麻烦,我不推荐他们——他们所有的代码都非常糟糕,信标的行为不可预测,我永远无法让它们工作,他们的支持非常糟糕。
[Protocol] // Added Protocol attribute
[Model]
[BaseType (typeof(NSObject))] //Changed BaseType to NSObject
public partial interface LeDeviceManager : ICBCentralManagerDelegate
{
    [Export ("devList", ArgumentSemantic.Retain)]
    NSMutableArray DevList { get; set; }

    [Export ("btmgr")]
    CBCentralManager Btmgr { get; set; }

    [Export ("delegate", ArgumentSemantic.Retain)]
    LeDeviceManagerDelegate Delegate { get; set; }

    [Export ("initWithSupportedDevices:delegate:")]
    IntPtr Constructor (NSObject[] devCls, LeDeviceManagerDelegate del);

    [Export ("startScan")]
    void StartScan ();

    [Export ("stopScan")]
    void StopScan ();

    [Export ("updatedState")] [New] // Notice I changed UpdatedState to updatedState lowercase u
    void UpdatedState(CBCentralManager mgr);
}