我正在尝试使用纯C代码访问Swift类的属性,因为我在音频线程中。
声明属性:
var Triggers: [[Int]] = [[Int]]()
C认为这是NSArray
(不可变),因此我无法修改其元素。将该属性声明为NSMutableArray
也无济于事。
什么是正确的方法?
感谢。
答案 0 :(得分:1)
如果你只需要将数组传递给C函数,那么最简单的方法是使用&传递指针参数。像这样的运营商
your_c_func(arg1, arg2, &Triggers);
如果你必须做更高级的事情,那么你将不得不玩UnsafeBufferPointers并且它是朋友。
这里有一些链接可以帮助您开始:
答案 1 :(得分:0)
我会说,我对Objective-C Interop几乎没有经验。但我个人会将不可变数组的内容分配给NSMutableArray
,然后对副本执行修改 - 如果需要的话。