【发布时间】:2016-03-31 23:22:13
【问题描述】:
我正在将 SwiftData 从 Swift 1.2 更新到 Swift 2,经过一些更改和更正后,我仍然遇到一个错误,我不明白为什么会发生这种情况。
代码如下:
public static func saveUIImage(image: UIImage) -> String? {
let docsPath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0] as String
let imageDirPath = docsPath.stringByAppendingPathComponent("SwiftDataImages")
if !NSFileManager.defaultManager().fileExistsAtPath(imageDirPath) {
do {
try NSFileManager.defaultManager().createDirectoryAtPath(imageDirPath, withIntermediateDirectories: false, attributes: [:])
} catch {
print("Error creating SwiftData image folder")
return nil
}
}
let imageID = NSUUID().UUIDString
let imagePath = (imageDirPath as NSString).stringByAppendingPathComponent(imageID)
let imageAsData = UIImagePNGRepresentation(image)
if !imageAsData!.writeToFile(imagePath, atomically: true) {
print("Error saving image")
return nil
}
return imageID
}
在 'do {' 行 Xcode 抛出以下错误:
无法使用类型为“(String, withIntermediateDirectories: Bool, attributes: _, error: _)”的参数列表调用“createDirectoryAtPath”
关于为什么会发生这种情况的任何提示?快把我逼疯了。
诚挚的问候,并提前致谢。
;)
【问题讨论】:
-
即使我将属性设置为 nil 仍然会发生错误
-
奇怪.. 我没有收到该错误消息。你的 Xcode 是什么版本的?
-
最新的。那么这个类有很多我正在修复的编译错误。这可能是一个 Xcode 错误,因为我有很多代码要迁移到 swift 2 并且它奇怪地检测错误?
-
是的!尝试清理项目并再次重建也首先解决其他问题。这可能会有所帮助。
-
我会这样做的。谢谢
标签: ios swift2 nsfilemanager