- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
尝试构建 BonMot 的示例项目时,
let theCFMutableString = NSMutableString(string: myString) as CFMutableString
CFStringTransform(theCFMutableString, UnsafeMutablePointer<CFRange>(nil), kCFStringTransformToUnicodeName, false)
我在 CFStringTransform
行遇到这个错误
Ambiguous use of 'init'
Xcode 8 项目使用 Swift 3
最佳答案
在 Swift 2 中,指针类型符合 NilLiteralConvertible
,允许非可选指针类型表示空指针。因此当你这样做的时候
UnsafeMutablePointer<CFRange>(nil)
编译器实际上使用了 init(_ other: COpaquePointer)
UnsafeMutablePointer
的初始化程序, 作为 COpaquePointer
是NilLiteralConvertible
因此可以表示空指针。
但是在 Swift 3 ( SE-0055 ) 中,指针类型不再符合 ExpressibleByNilLiteral
.不再允许非可选指针类型表示空指针,现在只需使用可选类型即可完成此操作,其中 nil
表示空指针。
因此你可以通过nil
直接进入range
CFStringTransform
的参数,正如它期望的那样 UnsafeMutablePointer<CFRange>!
:
CFStringTransform(theCFMutableString, nil, kCFStringTransformToUnicodeName, false)
关于ios - CFStringTransform 和 Swift 3 对 'init' 的使用不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39548291/
我正在尝试使用 CFStringTransform 将以俄语输入的名称音译为安全的 ASCII 以进行信用卡处理。但是,去掉变音符号之后, č 变成了 c ,这确实不是一个好的音译。无论如何我可以使用
我正在将俄语(或任何语言)字符串转换为美观的拉丁字符串,以便在 example.com/obezd-pedestala 等 URL 中使用 我使用此代码: CFMutableStringRef buf
我正在开发一个 iOS 应用程序,我必须在其中列出人名并对其进行排序。我有一些特殊字符的问题。 我需要澄清 Martin R 在 https://stackoverflow.com/a/1515482
尝试构建 BonMot 的示例项目时, let theCFMutableString = NSMutableString(string: myString) as CFMutableString CF
我是一名优秀的程序员,十分优秀!