更新到 Swift 2.0 后出错 [重复]
Posted
技术标签:
【中文标题】更新到 Swift 2.0 后出错 [重复]【英文标题】:Error after updating to Swift 2.0 [duplicate] 【发布时间】:2015-10-19 17:09:06 【问题描述】:我最近更新了 XCode。从那时起我就犯了错误。
这是我的代码:
public func asUIImage() -> UIImage?
if let path = value as? String
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let imageDirPath = docsPath.stringByAppendingPathComponent("SwiftDataImages")
let fullPath = stringByAppendingPathComponent(path)
if !NSFileManager.defaultManager().fileExistsAtPath(fullPath)
print("SwiftData Error -> Invalid image ID provided")
return nil
let imageAsData = NSData(contentsOfFile: fullPath)
if let imageAsData = imageAsData
return UIImage(data: imageAsData)
return nil
错误:
对于名为let imageDirPath
的变量:
stringByAppendingPathComponent' 不可用 NSURL 上的 URLByAppendingPathComponent 代替
对于变量let fullPath
使用未解析的标识符 stringByAppendingPathComponent
【问题讨论】:
【参考方案1】:stringByAppendingPathComponent(str:)
在 Swift 2.0 中从 String
中删除。它仍然适用于NSString
,因此您可以像这样使用它:
let docsPath: NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let imageDirPath: NSString = docsPath.stringByAppendingPathComponent("SwiftDataImages")
let fullPath = imageDirPath.stringByAppendingPathComponent(path)
将docsPath
和imageDirPath
声明为NSString
。
【讨论】:
以上是关于更新到 Swift 2.0 后出错 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
更新到 Xcode 9 / Swift 4 后 AVCapture 出现奇怪的编译错误 [重复]
将 Objective-C 代码迁移到 Swift(Swift 2.0更新)-b
迁移 Swift 和更新 Alamofire 后,我的路由器无法工作