无法从解析iOS Swift
问题描述:
中查询用户名,这是新增iOS版本,并使用教程开发Twitter应用程序(如应用程序)。无法从解析iOS Swift
人们可以从他们的帐户发送推文。并显示在主页上。
此刻到主页的所有推文和一切运作良好,除了用户名。即时得到零
这是我曾尝试
override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:SpreadTableViewCell = tableView!.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! SpreadTableViewCell
let spread:PFObject = self.LiveFeedData.objectAtIndex(indexPath.row) as! PFObject
//----------This Content Works fine ----------------
cell.spreadTextView.text = spread.objectForKey("content") as! String
//Spreader
var findSpreader:PFQuery = PFUser.query()!
findSpreader.whereKey("objectId", equalTo: spread.objectForKey("spreader")!)
findSpreader.findObjectsInBackgroundWithBlock{
(objects:[AnyObject]?, error:NSError?)-> Void in
if error==nil{
let user = (objects as! [PFUser]).last
//but this one giving me nil
cell.username.text = user?.username
}
}
return cell
}
答
试试这个:
var user = spread.objectForKey("spreader") as! PFUser
user.fetchIfNeededInBackgroundWithBlock { (obj: PFObject?, error: NSError?) -> Void in
if obj != nil {
var fetchedUser = obj as! PFUser
var username = fetchedUser["username"] as! String
println(username)
}
}
什么数据结构传播的? – Swinny89
@ Swinny89更新了代码 – chathura
例如,如果错误不是零,你应该做一些事情 - 例如打印它。然而,你可以简化你的代码,你的记录中的'spreader'值是一个PFUser,所以你可以使用'fetchInBackgroundWithBlock'来读取它,而不是运行一个find。 – Paulw11