2016-07-08 2 views
0

내 앱에서 사용자의받은 편지함을 만들려고합니다. 그러나 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 
} 


} 
+0

정확한 문제는 무엇입니까 EXC_BreakPoint 또는 tablecell을 업데이트하지 않습니까? – kalpesh

+0

그 오류로 인해 테이블이 업데이트되는지 여부는 실제로 알 수 없습니다. 그래서 나는 그 오류가 나의 주요한 문제라고 말할 것이다. self.tableView.reloadData가 viewDidLoad에서 호출 될 때 발생합니다. 어디에서든지 다른 곳에서는 에러가 없지만 테이블은 데이터를로드하지 않습니다. –

답변

0

당신이하지 않았습니까?

self.tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell") 
+0

나는 그것을 어디에서 할 것인가? viewDidLoad? –

+0

테이블 뷰를 다시로드하기 전에 예. – kalpesh

+0

동일한 오류가 발생하여 작동하지 않습니다. 필자는 FirebaseQuery 내부에 뭔가있는 것으로 의심하지만 쿼리 외부에서 호출하면 테이블을 다시로드하지 않습니다. –

관련 문제