Xamarin目标Sharpie绑定代表到接口

时间:2016-08-24 16:48:27

标签: xamarin xamarin.ios objective-sharpie

我正在尝试使用委托

绑定objective-c库
@protocol PKTokenFieldDelegate <UITextFieldDelegate>

    -(void)tokenShouldChangeHeight:(CGFloat)height;

@optional
    -(void)tokenFieldDidSelectToken:(PKToken*)token;
    -(void)tokenFieldDidBeginEditing:(PKTokenField*)tokenField;
    -(void)tokenFieldDidEndEditing:(PKTokenField*)tokenField;

@end

Sharpie输出基于xamarin开发者网站上的演练。

// @protocol PKTokenFieldDelegate <UITextFieldDelegate>
[BaseType (typeof (NSObject))]
[Model]
interface PKTokenFieldDelegate : IUITextFieldDelegate
{
    // @required -(void)tokenShouldChangeHeight:(CGFloat)height;
    [Abstract]
    [Export ("tokenShouldChangeHeight:")]
    void TokenShouldChangeHeight (nfloat height);

    // @optional -(void)tokenFieldDidSelectToken:(PKToken *)token;
    [Export ("tokenFieldDidSelectToken:")]
    void TokenFieldDidSelectToken (PKToken token);

    // @optional -(void)tokenFieldDidBeginEditing:(PKTokenField *)tokenField;
    [Export ("tokenFieldDidBeginEditing:")]
    void TokenFieldDidBeginEditing (PKTokenField tokenField);

    // @optional -(void)tokenFieldDidEndEditing:(PKTokenField *)tokenField;
    [Export ("tokenFieldDidEndEditing:")]
    void TokenFieldDidEndEditing (PKTokenField tokenField);
}

这只会创建一个我可以继承而不是创建接口的对象。我需要将它作为一个接口。我错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

我只需将[模型]更改为[协议],以使其正常工作。

当命名空间和类名与错误相同时,我也遇到了问题。这就是让我首先将协议转换为模型的原因。