我正在绑定一个 ObjC 库,一切正常,但我有一个问题。ObjC 库正在使用在单独的标头中定义的一些值。
例如,带有以下内容的标题:
#define SOME_PROPERTY_1 TRUE
#define SOME_PROPERTY_2 TRUE
#define SOME_PROPERTY_3 FALSE
根据这些属性,库将对视图进行一些更改(因此这些更改在库中,而不是在我的 C# 代码中)。
我想从我的 C# 代码中访问这些属性,以便我可以更改它们。现在,如果我想更改它们并且我无法动态更改它们(目标是什么),我需要再次构建我的库。
这可能吗?
我已经对此进行了搜索,但我不明白这两个建议的解决方案:
- 将它们放在我的 C# 代码中而不是绑定中 -> 我认为这不是一个解决方案,因为在这种情况下,库将不知道这些更改?(无连接)
- 将它们绑定为(静态)属性
不幸的是,我不知道该怎么做。在这个标题中,这些不是类/接口,只有#DEF 语句,所以我不知道我应该在哪个“类”中定义这些属性。
然后将标头包含在其他一些 ObjC 类中。我试图看看我是否可以在那里定义它们,但它是一个接口并且属性不被接受。
所以基本上,我绑定了一个“SomeController”类,并且“SomeController.h”被定义为接口
@interface SomeController : UIViewController
然后在“SomeController.m”中你有
#import "Constants.h" //The file with only #DEF statements
@implementation SomeController
{
...
}
有任何想法吗?
问候, 马特