- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:这个问题不再相关,因为 CString
已在 Xcode 6 beta 4 中删除。
在 C 中,我可以将 C 字符串 (const char *
) 传递给采用可变参数的 C 函数。
现在我想在给定 CString
的情况下在 Swift 中做同样的事情。我知道在 Swift 中我不能直接访问 C 可变参数函数,但是我可以访问带有 va_list
的 C 函数,在 Swift 中它变成了 CVaListPointer
,我可以用getVaList()
来自 CVarArg
数组,根据 this question .
我可以毫无问题地将整数 (Int
) 和对象 (NSObject
) 放入 CVarArg
数组中,但我做不到弄清楚如何将 CString
转换为 CVarArg
。
查看标准库中符合CVarArg
的类型,发现有COpaquePointer
,但是想不通如何获取CString
到那个。
最佳答案
以下似乎是为了将 CString 转换为 COpaquePointer 进行编译:
var myStr : CString = "foo"
var myStrPointer:CMutablePointer<CString> = &myStr
myStrPointer.withUnsafePointer { (myPtr1 : UnsafePointer<CString>) -> () in
let myOpaquePtr = COpaquePointer(myPtr1)
}
关于swift - 如何将 CString 传递给 CVarArg?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24212578/
这个问题在这里已经有了答案: Format string with variadic arguments (2 个答案) 关闭 4 年前。 我需要一个默认函数的包装器 String.init(for
当我尝试使用 NSLog 进行记录时,我遇到了这个错误: remote: /tmp/build_f459d376d1bc10ac2e93e52575ac5ea9/Sources/App/main.sw
更新:这个问题不再相关,因为 CString 已在 Xcode 6 beta 4 中删除。 在 C 中,我可以将 C 字符串 (const char *) 传递给采用可变参数的 C 函数。 现在我想在
我有一个应用程序可以处理大量需要在表单中显示的可选数据 || "never updated" 很明显我的代码充满了这样的东西: var pressureString: String { (s
在为 C++ 库的 C 包装器编写 Swift 包装器时,我偶然发现了一些关于 Swift 的 CVarArg 的奇怪错误。我已经拥有的 C 包装器使用可变参数函数,我将其转换为使用 va_list
我在 swift 3 中有以下代码: class StringUtility { static func Localizer(tableName: String?) -> (_ key: Str
这就是我应该如何将 Date 传递给 NSPredicate.init(format predicateFormat: String, arguments argList: CVaListPointe
我是一名优秀的程序员,十分优秀!