在Monotouch中绑定外部NSString

本文关键字:外部 NSString 绑定 Monotouch | 更新日期: 2023-09-27 18:30:08

我目前正在进行MobClix绑定,我遇到了这条线:

extern NSString* const MCAdsErrorDomain;

这一行出现在任何类或接口之外,我不知道如何在c#中绑定它。如有任何帮助,我们将不胜感激!

在Monotouch中绑定外部NSString

您的定义看起来是基于C的,所以它应该像Rolf的例子告诉您的那样工作。

但是,如果/当您使用btouch工具绑定Objective-C库时,您将希望使用以下内容:

    [Field ("XXMyString")]
    NSString MyString { get; }

MonoTouch的绑定文档对此进行了详细描述。

它是这样完成的:

var handle = Dlfcn.dlopen ("/path/to/mobclix-library", 0);
NSString MCAdsErrorDomain = Dlfcn.GetStringConstant (handle, "MCAdsErrorDomain");
Dlfcn.dlclose (handle);

您也可以在这里看到一个示例(其中也包括一些错误检查):https://github.com/mono/maccore/blob/master/src/CoreVideo/CVPixelFormatDescription.cs#L67