Parse を使い始めたばかりで、時々いくつかの問題があります。ユーザーがログインしているときに完璧に機能する PFQueryTableView があります。 queryForTable() 関数は、「createdBy」列に現在のユーザーのユーザー名を持つすべてのオブジェクトを照会します。しかし、ログインしているユーザーがいない場合、何を返すのでしょうか? 現時点では、このように動作しますが、ログにエラーが表示されます。ユーザーがログインした後、プルしてテーブルを更新する必要があります。その後、ユーザーのイベントが表示されます。ユーザーがログインしていないときに空のテーブルを作成したいのですが、ユーザーがログインしてloginViewが消えた後、テーブルは自動的にユーザーデータをロードする必要があります。これが私のviewDidAppearと私のqueryForTable関数です:
override func viewDidAppear(animated: Bool) {
if PFUser.currentUser() == nil {
let loginView = PFLogInViewController()
loginView.delegate = self
self.presentViewController(loginView, animated: true, completion: nil)
}
}
override func queryForTable() -> PFQuery {
if PFUser.currentUser() != nil{
let query = PFQuery(className: "calendarEvents")
query.cachePolicy = .CacheElseNetwork
query.orderByAscending("StartDate")
query.whereKey("createdBy", equalTo: (PFUser.currentUser()?.username)!)
return query
}else{
let noQuery = PFQuery()
return noQuery
}
}