2015年5月28日 星期四

[Swift] Declaration is only valid at file scope

If you are experiencing an error in Swift when adding an extension like this "Declaration is only valid at file scope", double check where you are declaring this extension. It must be after the class declaration!!!

The problem:
class ViewController: UIViewController {
    ...

    extension User {
        var image:UIImage {
            if let image = UIImage(named: login){
                return image
            }
            else{
                return UIImage(named:"skype")
            }
        }
    }

    ...   
}

The Solution:
class ViewController: UIViewController {

   ...    
    
}
extension User {
    var image:UIImage {
        if let image = UIImage(named: login){
            return image
        }
        else{
            return UIImage(named:"skype")
        }
    }
}

沒有留言:

張貼留言