-2

I have recently updated XCode. Since that time I am errors.

Here is my code:

       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
    }

Errors:

For the variable called let imageDirPath:

stringByAppendingPathComponent' is unavailable use URLByAppendingPathComponent on NSURL instead

For the variable let fullPath

Use of unresolved identifier stringByAppendingPathComponent

radioaktiv
  • 2,437
  • 4
  • 27
  • 36

1 Answers1

1

stringByAppendingPathComponent(str:) is removed from String in Swift 2.0. It is still working for NSString so you can use it like this:

let docsPath: NSString = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let imageDirPath: NSString = docsPath.stringByAppendingPathComponent("SwiftDataImages")
let fullPath = imageDirPath.stringByAppendingPathComponent(path)

Declare docsPath and imageDirPath as NSString.

kishikawa katsumi
  • 10,418
  • 1
  • 41
  • 53