【问题标题】:Xamarin Objective Sharpie Binding Delegate to InterfaceXamarin 目标 Sharpie 绑定委托到接口
【发布时间】:2016-08-24 16:48:27
【问题描述】:

我正在尝试将 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);
}

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

谢谢

【问题讨论】:

    标签: xamarin xamarin.ios objective-sharpie


    【解决方案1】:

    我只需要将 [Model] 更改为 [Protocol] 即可。

    当命名空间和类名相同时,我也遇到了一个问题,你会得到错误。这就是让我一开始就将协议更改为模型的原因。

    【讨论】:

      猜你喜欢
      • 2018-08-08
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多