我想将整数值从swift到目标c函数,我可以对其进行处理。
目标C函数定义是
(void)getAllDevices:(NSInteger *)limit :(NSInteger *)offset
目标C函数是名为Demosdk的SDK的一部分。
我尝试使用此函数调用来传递Swift的值
我尝试这样做
DemoSDK.getAllDevices(10,10)
但是出现的错误是
无法将类型INT的值转换为预期的UnsfemutablePointer类型的参数
我对目标C非常陌生,这绝对是一个业余问题。我想向目标C函数发送一个int值,在其中可以处理int值。我该怎么做?请帮忙。
参数不要求整数,他们要求参考整数。这是通过swift中的 &
实现的。
var limit = Int()
var offset = Int()
DemoSDK.getAllDevices(&limit, &offset)
有两个类似但可以误认为的方法。
-
通常的方法是
init(contentsOfURL url: NSURL, encoding enc: UInt) throws
encoding
参数采用NSStringEncoding
值来指定编码,例如let string = try? String(contentsOfURL:url, encoding:NSUTF8StringEncoding)
-
第二种方法检索通过将指针作为
usedEncoding
参数传递给文件中的编码init(contentsOfURL url: NSURL, usedEncoding enc: UnsafeMutablePointer<UInt>) throws
文档说:
返回后,如果成功读取URL,则包含所用编码 解释数据。
这意味着您必须通过指针,该指针包含文件的确定编码。
var encoding : NSStringEncoding = 0 let string = try? String(contentsOfURL:url, usedEncoding:&encoding)