字符串不可转换为 void
string is not convertible to void
我不明白这个函数有什么问题:
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
}
}
}
这个return错误:'String'不能转换成'Void'!我只想 return 从 Parse 填充的数组中的最后一个对象!谢谢你帮助我!
return statusFinale
写成块,所以retrieveStatusInTable函数return无效。
当您使用异步方法时,设置函数 return 类型 "Void" 并用块 (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)
})
我不明白这个函数有什么问题:
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
}
}
}
这个return错误:'String'不能转换成'Void'!我只想 return 从 Parse 填充的数组中的最后一个对象!谢谢你帮助我!
return statusFinale
写成块,所以retrieveStatusInTable函数return无效。
当您使用异步方法时,设置函数 return 类型 "Void" 并用块 (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)
})