gpt4 book ai didi

ios - swift 2 : Cannot invoke initializer for type 'NSString'

转载 作者:搜寻专家 更新时间:2023-11-01 06:43:49 25 4
gpt4 key购买 nike

我是 Swift 开发的新手。我刚刚将现有的工作代码转换为 swift2,同时从 6 更新 Xcode 7。

var err: NSError?
let template = NSString(contentsOfFile: path!, encoding: NSUTF8StringEncoding, error: &err) as! String
let iframe = template.stringByReplacingOccurrencesOfString("{{VIDEO_ID}}", withString: id, options: NSStringCompareOptions.allZeros, range: nil)
if err != nil {
return false
}

然后,我收到此错误消息:

Cannot invoke initializer for type 'NSString' with an argument list of type '(contentsOfFile: String, encoding: UInt, error: inout NSError?)'

你有什么想法吗?非常感谢!

最佳答案

您应该使用 Swift 原生类型 String。您还需要实现 Swift 2.0 try catch 错误处理。像这样尝试:

let template = try! String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
let iframe = template.stringByReplacingOccurrencesOfString("{{VIDEO_ID}}", withString: id, options: [], range: nil)

如果您想处理错误:

do {
let template = try String(contentsOfFile: path!, encoding: NSUTF8StringEncoding)
let iframe = template.stringByReplacingOccurrencesOfString("{{VIDEO_ID}}", withString: id, options: [], range: nil)
} catch let error as NSError {
print(error.localizedDescription)
}

关于ios - swift 2 : Cannot invoke initializer for type 'NSString' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32663872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com