.Failure(错误)!没有更多背景的暧昧

时间:2016-05-03 13:25:09

标签: xcode swift macos cocoa

我正在尝试从Hillegass的Cocoa Programming for OS X教科书中运行一些代码,但我的Swift和Xcode版本比书中的版本更新。不是100%肯定是造成问题的原因,但这是我的猜测。无论是否是这种情况,我都不知道如何解决它。

代码段:

enum FetchCoursesResult
{
    case Success([ Course])
    case Failure(NSError)
}


func fetchCoursesUsingCompletionHandler( completionHandler: (FetchCoursesResult) -> (Void))
{
    let url = NSURL( string: "http:// bookapi.bignerdranch.com/ courses.json")!
    let request = NSURLRequest( URL: url)
    let task = session.dataTaskWithRequest( request, completionHandler:
    {
        (data, response, error) -> Void in
        var result: FetchCoursesResult

        if data == nil
        {
            result = .Failure(error)!
        }
        else
        {
            print(" Received \( data!.length) bytes.")
            result = .Success([]) // Empty array until parsing is added
        }

        NSOperationQueue.mainQueue().addOperationWithBlock(
        {
            completionHandler( result)
        })
    })

    task.resume()
}

Xcode在“.Failure(error)!”上给出了一个错误并说“没有更多的背景,表达的类型是模棱两可的。”

我已经看到很多other people询问此错误消息,但我不确定如何在这种情况下应用它(建议此错误的解决方案似乎总是不同) 。这到底需要什么背景?我认为它与enum有关,但我不确定是什么。

0 个答案:

没有答案