测试出一些第三方目标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)