iOS中的函数返回错误

时间:2015-01-01 01:18:50

标签: ios swift nsmutablearray

我有以下功能:prepare(),返回NSMUtableArray。当我尝试返回json NSMutableArray对象时,我收到以下错误:

 'NSMutableArray' is not convertible to 'Void'

功能源代码:

    func prepare() -> NSMutableArray {

    let statusesShowEndpoint = "https://api.twitter.com/1.1/statuses/user_timeline.json"
    let params = ["screen_name": "tikaDotMe"]
    var clientError : NSError?

    let request = Twitter.sharedInstance().APIClient.URLRequestWithMethod(
        "GET", URL: statusesShowEndpoint, parameters: params,
        error: &clientError)

    if request != nil {
        Twitter.sharedInstance().APIClient.sendTwitterRequest(request) {
            (response, data, connectionError) -> Void in
            if (connectionError == nil) {
                var jsonError : NSError?


                let json = NSJSONSerialization.JSONObjectWithData(data,
                    options: nil,
                    error: &jsonError) as NSMutableArray
          //Error: 'NSMutableArray' is not convertible to 'Void'
                return json



            }
            else {
                println("Error: \(connectionError)")
            }
        }
    }
    else {
        println("Error: \(clientError)")
    }
    return [""]
}

1 个答案:

答案 0 :(得分:2)

问题是你试图从一个被定义为返回Void的闭包中返回json:

    (response, data, connectionError) -> Void

编辑:正如@ Paulw11所提到的,你需要处理关闭中的数据,你不能从准备函数中返回它。