バックエンドテーブルからデータをロードしようとしていますが、テーブルを正しくロードできません。空白のままです。複数の場所で試してみましたが、クラッシュが発生します。唯一の場所は、最後のエラーコール後です。しかし、テーブルは空白のままです。関連するコードは、私のfetchingUserDataAsync()関数にあります。ここでテーブルビューリロードバックエンドレスから正しく更新されない
が私のテーブルビューコントローラです:
import UIKit
class UserTableViewController: UITableViewController {
var backendless = Backendless.sharedInstance()
let follow:Follow = Follow()
var usernames = [""]
var userids = [""]
var userEmails = [""]
var isFollowing = [false]
func fetchingUserDataAsync() {
self.userids.removeAll(keepCapacity: true)
self.usernames.removeAll(keepCapacity: true)
self.isFollowing.removeAll(keepCapacity: true)
print("\n============ Fetching user data using the ASYNC API ============")
let query = BackendlessDataQuery()
backendless.persistenceService.of(BackendlessUser.ofClass()).find(
query,
response: { (name : BackendlessCollection!) ->() in
let currentPage = name.getCurrentPage()
for names in currentPage as! [BackendlessUser] {
//print("User name = \(names.name)")
if(names.name != self.backendless.userService.currentUser.name){
self.usernames.append(names.name)
self.backendless.persistenceService.of(BackendlessUser.ofClass()).find(
query,
response: { (objectId : BackendlessCollection!) ->() in
let currentPage = objectId.getCurrentPage()
for objects in currentPage as! [BackendlessUser] {
//print("User id = \(objects.objectId)")
if(objects.objectId != self.backendless.userService.currentUser.objectId){
self.userids.append(objects.objectId)
let currentUser = self.backendless.userService.currentUser
let user = objects.objectId
let whereClauseOne = "follower = '\(currentUser.objectId)' "
let whereClauseTwo = "following= '\(user)'"
//print ("I am following'\(whereClauseTwo)'")
self.backendless.persistenceService.of(objects.ofClass()).find(
query,
response: { objects ->() in
if let objects = objects{
self.isFollowing.append(true)
} else{
self.isFollowing.append(false)
}
},
error: { (fault : Fault!) ->() in
print("Server reported an error: \(fault)")
}
)
}
}
},
error: { (fault : Fault!) ->() in
print("Server reported an error: \(fault)")
}
)
}
}
},
error: { (fault : Fault!) ->() in
print("Server reported an error: \(fault)")
}
)
//////////////////////////////////////////////////////////////////////////////////
self.tableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
fetchingUserDataAsync()
}
お願いしている問題に関連するコードだけを投稿することをお勧めします(すべての 'didSelectRowAtIndexPath'コードを削除することができます)。また、コードをうまく整形するのにも役立ちます。 – paulvs