
let filename : StaticString = #filelet currentfile : String = file.description解决方法 不,这不是将StaticString转换为String的正确方法; description返回的值是一个实现细节.
获取String的最简单方法是不要向filename添加显式类型注释;因为它默认为String:
let filename = #fileprint(type(of: filename)) // String
但是,假设在实际使用情况下这是不可能的,另一个选择是使用StaticString的withUTF8Buffer(_:)方法以及String的init(decoding:as:)初始化器来解码静态字符串的UTF-8代码单元:
let filename: StaticString = #filelet currentfile = filename.withUTF8Buffer { String(deCoding: extension String { init(_ staticString: StaticString) { self = staticString.withUTF8Buffer { String(deCoding: ,as: UTF8.self) } }}let filename: StaticString = #filelet currentfile = String(filename)print(currentfile),as: UTF8.self)}print(currentfile) 当然,您可以为此创建自己的便利初始化程序:
但这种转换真的不应该经常出现.
总结以上是内存溢出为你收集整理的swift – 如何在运行时将StaticString转换为String?全部内容,希望文章能够帮你解决swift – 如何在运行时将StaticString转换为String?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)