0

短版:

缺少基本类型的 a在 Objective-C 中是否@protocol具有推断的基本类型 ?NSObject


长版:

我正在将一个 Objective C 库绑定到 C#。这个库中的一个协议缺少一个基本类型......通常我会期待这样的事情:

@protocol Account <NSObject, NSCopying, NSSecureCoding>

我定义为:

[Protocol, Model]
[BaseType(typeof(NSObject))]
interface Account : INSCopying, INSSecureCoding

但现在我面临以下问题:

@protocol Configuring

所以它会被定义为:

[Protocol, Model]
interface Configuring

但这没有多大意义......根据微软的文档:

API 定义文件由许多接口组成。API 定义中的接口将转换为类声明,并且必须使用 [BaseType] 属性进行修饰,以指定类的基类。

那么在这种情况下我该怎么办,我可以安全地假设NSObject这个协议的基本类型吗?

4

1 回答 1

1

首先,检查BaseTypeAttribute

定义中的每个interface(include Protocol) 都具有[BaseType]声明生成对象的基本类型的属性。

请参阅此示例

InfColorPickerControllerDelegate是协议,我们应该添加[BaseType(typeof(NSObject))].

于 2018-03-29T03:16:37.733 回答