swift - 字符串不能转换为 void

标签 swift function type-conversion

我不明白这个函数有什么问题:

var arrayStatusUserTable:[String] = [String]()
var statusText:String = String()

func retrieveStatusInTable(name: String) -> String {

    var statusFinal:String = String()

    var query:PFQuery = PFQuery(className: "Status")
    query.whereKey("NameCreator", equalTo: name)
    query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
        for phrase in objects! {
            let phraseTakenParse:String? = (phrase as! PFObject)["Status"] as? String

            if phraseTakenParse != nil {
                self.arrayStatusUserTable.append(phraseTakenParse!)
            }
        }
        // Take the last status
        if var frase = self.arrayStatusUserTable.last {
            var lastFraseStatus:String = frase //self.arrayStatusUtente.last!
            self.statusText = lastFraseStatus

            statusFinale = lastFraseStatus
            return statusFinale
        }
    }
}

这会返回错误:“String”无法转换为“Void”!我只想返回从 Parse 填充的数组中的最后一个对象!谢谢你帮助我!

最佳答案

返回statusFinale写在 block 中,因此retrieveStatusInTable函数返回Void。

当使用异步方法时,设置函数返回类型“Void”并用 block (completionHandler)告诉结果。

示例代码:

func retrieveStatusInTable(name: String, completionHandler:((statusFinale: String) -> Void)) {

    // .....

    query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
          // ........
          statusFinale = lastFraseStatus
          completionHandler(statusFinale: statusFinal)
    }
}

用法:

retrieveStatusInTable("Sample", { (statusFinale) -> Void in
    println(statusFinale)
})

关于swift - 字符串不能转换为 void,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706724/

相关文章:

arrays - 为任何整数数组定义函数

javascript - 从 webelement 读取字符串并将其转换为小数

ios - Swift 无法分配类型为 'UINavigationController' 的值

ios - 处理 RxSwift 重试和错误处理的最佳实践是什么

swift - UILabel 不会更新以显示获取的位置坐标

list - Erlang-我的列表理解中的编码功能似乎不起作用?

Javascript 端口 var 测试 = { a : Infinity }

php - 在回显之前编辑字符串中的 url?

string - 将字符串元素作为字节访问是否会执行转换?

javascript Number 构造函数奇怪的行为