Monotouch Objective C API绑定

时间:2012-06-14 20:42:54

标签: objective-c binding xamarin.ios

我目前正在开发一个MonoTouch项目,需要添加一个Objective C API以用于读卡器。在阅读了Xamarin提供的所有文档后,我很难理解获得绑定工作的基础知识。我正在尝试编写接口代码,我收到有关如何编写方法的C#版本的混合消息。我已经看到了使用句柄和所有爵士乐实际调用Objective C Runtime的方法,如下所示:

    [Export("doSomething")]
    public virtual void DoSomething()
    {
        return Runtime.GetNSObject(
            Messaging.IntPtr_objc_msgSend(this.Handle, selNextObject.Handle));
    }
    // I know this code doesn't match what you would do in a void method
    // but bear with me

但我也看到了创建方法定义的例子,就像

一样简单
    //from obj-c code -(void) doSomething;
    [Export("doSomething")]
    void DoSomething();

该方法是否自动识别Objective C API中的'doSomething'方法并执行这些操作,还是我必须以某种方式编写C#方法操作? (我知道选择器,但我不熟悉它们或他们做什么/如何正确使用它们)我将不胜感激任何帮助或解释。非常感谢!

1 个答案:

答案 0 :(得分:1)

如果您使用绑定生成器,它会为您完成所有工作。这就是我们在MonoTouch中几乎所有API都使用的。

但如果您想手动滚动,请手动调用msgSend