Swift 3.0:String初始化器Encoding不能为nil的解决
来源:互联网 发布:太原软件 编辑:程序博客网 时间:2024/05/02 01:31
以后会写一系列Swift 3.0中的小变化的博文,内容短小,因为我遇到这种问题就马上写下来,并不会刻意积累一大堆再一起写出来.如果大家有Swift 3.0使用上的问题欢迎提问.
这个问题发生在之前可以执行的代码中:
if let plays = try? String(contentsOfFile: path, usedEncoding: nil){ //do some stuff...}
但是该段代码在Swift 3.0中报错了,提示usedEncoding这个参数不可以为nil!但是我们事先并不知道file的编码方式,那么这个参数该如何赋值呢?
答案很简单,你可以选用一种”假象”的编码,然后cocoa会帮你推测出该文件实际的编码方式,注意该参数是inout的类型哦.
所以我们可以这样写:
var encoding:String.Encoding = .asciiif let plays = try? String(contentsOfFile: path, usedEncoding: &encoding){ //do what anything you want to!}
你可以在String初始化器成功初始化后检查file实际的编码方式:
print("encoding is \(encoding.description)")
这里返回将是:
encoding is Unicode (UTF-8)
0 0
- Swift 3.0:String初始化器Encoding不能为nil的解决
- Swift初始化方法返回NIL
- Swift 的nil
- golang字符串不能为"nil"
- -initWithData: encoding:返回nil的解决办法
- 解决Xcode断点调试值都为nil的问题
- 解决Xcode断点调试值都为nil的问题
- IOS string转NSURL为nil问题
- deviceToken转string时候为nil
- Swift中使用Xib获取UIView控件,结果UIView控件的subViews为nil
- 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
- delegate为nil的原因
- 含有string成员的结构体变量,为什么不能初始化?
- [Swift]Swift的初始化方法
- viewWithTag 返回 nil , viewWithTag的值为nil的原因
- NSURL使用urlWithString得到的对象为nil的问题原因以及解决
- IOS 渐入swift -1 Swift的nil和OC的nil区别
- IOS nil 判断变量为空nil的前后顺序
- [Sqoop]Sqoop导入与导出
- 趋势科技笔试题 DNA串查重 (4进制)
- android inline hook 学习笔记
- JSP+Servlet+JavaBean+JDBC实现用户登录,及成绩查询
- OKHTTP简单解析
- Swift 3.0:String初始化器Encoding不能为nil的解决
- 软件工程的生存周期
- 浅谈如何搭建互联网业务风控系统
- struct内存对齐
- JavaWeb session的使用和获取
- OpenCV读取视频
- OKhttp解析
- Okhttp
- 摘要 MappingJacksonHttpmessageConverter错误