내 앱에서 사용자의받은 편지함을 만들려고합니다. 그러나 tableView 다시로드하는 데 문제가 있습니다. self.tabelView.reloadData()
을 제거하면 앱보기가 정상적으로 실행되지만 물론 표 셀을 업데이트하지 않습니다. 결과 배열을 출력 할 수 있기 때문에 쿼리가 그것을 만듭니다. 내가 얻는 오류는 LLDB 오류입니다. "EXC_BreakPoint"라고 말하면 중단 점을 설정하지 않았습니다. 여기 내 코드는 다음과 같습니다.Swift를 사용한 Firebase 사용자의받은 편지함
class InboxTableViewController: UITableViewController {
var pinggedUser: String!
var toBeUserId: String!
let dataBase = FIRDatabase.database()
var SecondResultArray: [FIRDataSnapshot]! = []
override func viewDidLoad() {
messageReference = rootReference.child("messages")
//let UserRef = messageReference.child((FIRAuth.auth()?.currentUser?.displayName)!)
messageReference.queryOrderedByChild("senderName")
.observeSingleEventOfType(.Value, withBlock:{ snapshot in
for child in snapshot.children {
self.SecondResultArray.append(child as! FIRDataSnapshot)
//print(self.ResultArray)
}
print(self.SecondResultArray)
self.tableView.reloadData()
})
super.viewDidLoad()
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 1
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return SecondResultArray.count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("inboxCell", forIndexPath: indexPath)
// Configure the cell...
let inBox: FIRDataSnapshot! = self.SecondResultArray[indexPath.row]
let book = inBox.value as! Dictionary<String, String>
let receiver = book["receiver"] as String!
let senderId = book["senderId"] as String!
let messageText = book["text"] as String!
let senderName = book["senderName"] as String!
cell.textLabel?.numberOfLines = 0
cell.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
cell.textLabel?.text = "Your Messages With:" + "" + senderName
return cell
}
}
정확한 문제는 무엇입니까 EXC_BreakPoint 또는 tablecell을 업데이트하지 않습니까? – kalpesh
그 오류로 인해 테이블이 업데이트되는지 여부는 실제로 알 수 없습니다. 그래서 나는 그 오류가 나의 주요한 문제라고 말할 것이다. self.tableView.reloadData가 viewDidLoad에서 호출 될 때 발생합니다. 어디에서든지 다른 곳에서는 에러가 없지만 테이블은 데이터를로드하지 않습니다. –