斯威夫特 - Alamofire completionhandler

时间:2015-09-20 12:35:41

标签: swift get request alamofire

我正在与Alamofire合作,从网络API中检索数据:

func getData(completionHandler: (responseObject: NSDictionary?) -> ()) -> () {
    Alamofire.request(.GET, "http://example.com/api/resource/")
        .validate()
        .authenticate(user: user, password: password)
        .responseJSON { (request, response, responseObject) in

            switch responseObject {
                case .Success:
                    print("Validation Successful")
                    completionHandler(responseObject: responseObject as? NSDictionary)
                case .Failure(_, let error):
                    print(error)
            }

    }
}

override func viewDidLoad() {
    super.viewDidLoad()

    getData { (str, error) in
        if str != nil {
            print(str)
        } else {
            print(error)
        }
    }
}

当我运行代码时,它会出错,错误显示在下面

Command failed due to signal: Segmentation fault: 11

我不知道它有什么问题以及如何解决它。 任何建议都非常感谢。

1 个答案:

答案 0 :(得分:2)

在使用Alamofire时遇到类似的问题。我删除并重新导入框架,然后它工作。看起来编译器有一些问题。

无论如何也尝试Product > Clean你的项目。

如果仍然无法正常工作,请尝试设置breakpoints(或简单评论)您的嵌套部分,以找出确切失败的位置。