C语言中的Swift Mutable数组

时间:2016-02-02 15:35:19

标签: objective-c swift

我正在尝试使用纯C代码访问Swift类的属性,因为我在音频线程中。

声明属性:

var Triggers: [[Int]] = [[Int]]()

C认为这是NSArray(不可变),因此我无法修改其元素。将该属性声明为NSMutableArray也无济于事。

什么是正确的方法?

感谢。

2 个答案:

答案 0 :(得分:1)

如果你只需要将数组传递给C函数,那么最简单的方法是使用&传递指针参数。像这样的运营商

your_c_func(arg1, arg2, &Triggers);

如果你必须做更高级的事情,那么你将不得不玩UnsafeBufferPointers并且它是朋友。

这里有一些链接可以帮助您开始:

Apple's Swift blog

Unsafe Swift by Russ Bishop

答案 1 :(得分:0)

我会说,我对Objective-C Interop几乎没有经验。但我个人会将不可变数组的内容分配给NSMutableArray,然后对副本执行修改 - 如果需要的话。