测试出一些第三方目标C代码,我看到以下内容:

int beepData[] = {1200,100};


我在这里看什么是否从一对其他整数创建一个int?我以前没看过这个功能。

我也想知道如何在Swift中创建相同的变量。

编辑

我以为这是返回int,而不是数组。我正在查看的代码如下所示:

int beepData[] = {1200,100};
[[DTDevices sharedDevice] barcodeSetScanBeep:TRUE volume:10 beepData:beepData length:sizeof(beepData) error:nil];


我打算将变量传递给的方法签名是:

-(BOOL)barcodeSetScanBeep:(BOOL)enabled volume:(int)volume beepData:(int *)data length:(int)length error:(NSError **)error;


我猜可能是正确的问题-什么是(int *),如何在Swift中创建一个?

最佳答案

我在这里看什么


那是一个有两个元素的整数数组。




  [如何]在Swift中创建相同的变量?


swift中的相同变量可以声明为:

var beepData : [Int] = [ 1200, 100 ]


您可能会发现有关different ways to declare an array in C的答案很有用




  什么是(int *)


这是一个int pointer,它指向一个int的内存地址。递增将沿内存地址移动(以int大小的块为单位),并指向内存的下一位。

[1][3][5][4][2]
 ^


这个小箭头表示int*。即使目前指向1,
递增不等于2。在这种情况下,等于3,即下一个内存块中int的值。

[1][3][5][4][2]
    ^





  如何在Swift中创建一个?


老实说,我不确定Swift是否具有正常意义上的指针。我没有大量使用它。但是,如果要移植该方法,我可能会给它一个整数数组。

func barcodeSetScanBeep(enabled : Bool, volume : Int, beepData: [Int], length : Int, error : NSError)

09-27 02:22
查看更多