【发布时间】:2015-04-24 08:56:54
【问题描述】:
我在一个 Swift 项目中使用 AFNetworking。
1 - Typealias 闭包:
typealias successBlock = (AFHTTPRequestOperation! ,AnyObject!)-> Void
typealias failureBlock = (AFHTTPRequestOperation, NSError!) -> Void
2 - 定义函数:
func getUserInfo(success: (successBlock)!, failure: (failureBlock)!) {
let path = "https://api.wei.s.json"
let parameters = ["source":"key"]
self.GET(path, parameters: parameters, success: success, failure: failure)
}
3 - 错误:
不能使用类型为“(String,parameters: [String : String], success: (successBlock)!, failure: (failureBlock)!)”的参数列表调用“GET”
感谢您的帮助。
EIDT:
typealias failureBlock = (AFHTTPRequestOperation, NSError!) -> Void
到
typealias failureBlock = (AFHTTPRequestOperation!, NSError!) -> Void
【问题讨论】:
-
从
(successBlock)!中删除括号会发生什么? -
这可能是因为 AFNetworking 是一个 Objective-C 库,它不喜欢 GET 方法的 'path' 和 'parameters' 参数的 swift 'String' 类型。使用名为 AlamoFire 的 AFNetworking 快速版本可能会更好,这样您就不会遇到这些类型的问题。
-
@Clashsoft 同样的错误。
-
@deanware 好像不是这个原因,我只试过块参数。
-
GET是如何定义的?
标签: swift afnetworking