我目前正在开发一个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#方法操作? (我知道选择器,但我不熟悉它们或他们做什么/如何正确使用它们)我将不胜感激任何帮助或解释。非常感谢!
答案 0 :(得分:1)
如果您使用绑定生成器,它会为您完成所有工作。这就是我们在MonoTouch中几乎所有API都使用的。
但如果您想手动滚动,请手动调用msgSend