0

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

    [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# 方法操作?(我知道选择器,但我不太熟悉它们或它们的作用/如何正确使用它们)我将不胜感激任何可能的帮助或解释。非常感谢!

4

1 回答 1

1

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

但是如果你想手动推出,你手动调用 msgSend

于 2012-06-14T22:02:40.580 回答