Swift - Alamofire 完成处理程序
Swift - Alamofire completionhandler
我正在使用 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
我不知道它出了什么问题以及如何解决它。
非常感谢任何建议。
曾经在使用 Alamofire 时遇到过类似的问题。我删除并重新导入了框架,然后它就起作用了。看起来编译器有一些问题。
无论如何也尝试Product > Clean
你的项目。
如果它仍然不起作用,请尝试设置 breakpoints
(或简单地注释)您的嵌套部分以找出失败的确切位置。
您打错了getData
。当它只需要一个 responseObject
.
时,您正在向完成处理程序传递两个参数 (str, error
我正在使用 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
我不知道它出了什么问题以及如何解决它。 非常感谢任何建议。
曾经在使用 Alamofire 时遇到过类似的问题。我删除并重新导入了框架,然后它就起作用了。看起来编译器有一些问题。
无论如何也尝试Product > Clean
你的项目。
如果它仍然不起作用,请尝试设置 breakpoints
(或简单地注释)您的嵌套部分以找出失败的确切位置。
您打错了getData
。当它只需要一个 responseObject
.
(str, error