【发布时间】:2017-02-24 12:53:39
【问题描述】:
我想将一个整数值从 Swift 传递给我可以处理它的 Objective C 函数。
Objective C 函数定义是
(void)getAllDevices:(NSInteger *)limit :(NSInteger *)offset
Objective C 函数是名为 DemoSDK 的 SDK 的一部分。
我尝试使用此函数调用从 Swift 传递值
我试过这样做
DemoSDK.getAllDevices(10,10)
但随之而来的错误是
无法将 Int 类型的值转换为 UnsafeMutablePointer 类型的预期参数
我对 Objective C 非常陌生,这绝对是一个业余问题。 我想将一个 int 值发送到可以处理 int 值的目标 C 函数。我该怎么做?请帮忙。
【问题讨论】:
-
你没有传递
NSInteger,你传递的是NSInteger *。在没有看到更多代码的情况下,我无法为您提供很多帮助,但您可以尝试执行类似(一行,抱歉)var limit = 10; var offset = 10; withUnsafePointer(to: &limit) { limit in withUnsafePointer(to: &offset) { offset in DemoSDK.getAllDevices(limit, offset) } } -
NSInteger 不是指针类型,对于 from 方法调用 remove * 前面的 NSInteger 再试试。
标签: objective-c swift