我有一些問題需要在我的TableViewController中顯示'作者的每個帖子的用戶名。Swift和Parse - 消息應用程序無法在Xcode 6.3中顯示用戶名
它實際上顯示當前用戶的所有顯示帖子的用戶名,如何顯示每個發帖人的用戶名?
我正在使用Xcode 6.3和Parse.com API。 timeLabel顯示正確,但userLabel顯示當前登錄的用戶而不是帖子的作者。
如果我註銷並使用其他用戶名登錄,則所有userLabel都將更改爲新用戶。調試控制檯顯示Optional("theNameOfTheCurrentUser")
的次數與顯示帖子的次數相同。
解析主機2 DB一個用戶(用戶)和一個帖子(Poemes),在Poemes表中有一個指針指向特定用戶。
我升級到6.3的Xcode最近和var findLover:PFQuery = PFUser.query()
值可選類型有一個錯誤「PFQuery?沒有解開
我在這行的末尾添加了感嘆號(!),它刪除了錯誤,這是否導致了這個問題?
我讀解析文檔,並遵循一些例子,但看起來我有點失落在這裏,任何幫助和建議將高度讚賞,謝謝。
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:DisplayTableViewCell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! DisplayTableViewCell
let poeme:PFObject = self.timelineData.objectAtIndex(indexPath.row) as! PFObject
cell.poemeLabel.text = poeme.objectForKey("content") as? String
var dateFormatter:NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MM-dd HH:mm"
cell.timeLabel.text = dateFormatter.stringFromDate(poeme.createdAt!)
var findUser:PFQuery = PFUser.query()!
findUser.findObjectsInBackgroundWithBlock {
(objects, error)->Void in
if var objects = objects {
let author:PFUser = (objects as NSArray).lastObject as! PFUser
cell.userLabel.text = author.username
println(author.username)
})
}
return cell
}
感謝IcaroNZ您的及時答覆!如果還沒有收到結果,顯示的標籤是不是一直空白或空白? println返回:可選(「TheNameOfTheCurrentUser」)與分析數據庫中的帖子數量一樣多。 – mrdaco
不一定,您正在使用'dequeueReusableCellWithIdentifier',以便在某個階段填充值,並且當您重新使用單元格時,舊值仍然存在,因爲您沒有設置任何新值,在某個階段填充的舊值已重用 – Icaro
好吧,感謝您的跟進,那麼如果我理解正確,我需要讓'let author:PFUser =(objects as NSArray).lastObject as! PFUser'出於'findLover.findObjectsInBackgroundWithBlock'關閉,對嗎? – mrdaco