照片等错误出现在json.swift
中我不知道如何修复它。 请帮帮我
public convenience init(nsurl:NSURL) {
var enc:NSStringEncoding = NSUTF8StringEncoding
let err:NSError?
do {
let str: String? = try NSString(contentsOfURL: nsurl, encoding: NSUTF8StringEncoding) as String
//print(str)
self.init(nsurl:nsurl)
} catch let error as NSError {
//print(error.description)
}
}
答案 0 :(得分:1)
根据您的意图,您有几个选择。
如果您不想在初始化期间创建对象并打印添加信息,则可以像这样重写代码。
public convenience init(nsurl:NSURL) {
var enc:NSStringEncoding = NSUTF8StringEncoding
let err:NSError?
self.init(nsurl:nsurl)
do {
let str: String? = try NSString(contentsOfURL: nsurl, encoding: NSUTF8StringEncoding) as String
print(str)
} catch let error as NSError {
print(error.description)
}
}
另一种选择是使用failable初始值设定项。为此,您需要调用self.init(nsurl:nsurl),如果执行块无异常,否则从catch块返回nil。你还需要将方便初始化方法标记为可用(参见"?"在初始化词之后)
public convenience init?(nsurl:NSURL) {
var enc:NSStringEncoding = NSUTF8StringEncoding
let err:NSError?
do {
self.init(nsurl:nsurl)
let str: String? = try NSString(contentsOfURL: nsurl, encoding: NSUTF8StringEncoding) as String
print(str)
} catch let error as NSError {
print(error.description)
return nil
}
}