現在、firebaseを持つ特定のユーザーの全フォロワーを取得しようとしています。私didSet節では、私は、現在のユーザが次のことをユーザーにフェッチし、テキストフィールドに割り当てる)(関数setFollowingCountを呼び出す:FirebaseとSwiftを使用してフォロワーを獲得してすぐにカウントする方法
var user: User? {
didSet {
setFollowingCount()
guard let following = self.user?.following else {return}
let attributedText = NSMutableAttributedString(string: "\(following)\n", attributes: [NSAttributedStringKey.font: UIFont.boldSystemFont(ofSize: 14)])
attributedText.append(NSAttributedString(string: "followers", attributes: [NSAttributedStringKey.foregroundColor: UIColor.lightGray, NSAttributedStringKey.font: UIFont.systemFont(ofSize: 14)]))
self.followingLabel.attributedText = attributedText
}
}
setFollowingCount()関数は次のとおりです。
func setFollowingCount(){
var i = 0
guard let userId = self.user?.uid else { return }
Database.database().reference().child("following").child(userId).observe(.value) { (snapshot) in
self.user?.following = Int(snapshot.childrenCount)
}
}
問題は、読み込みに非常に時間がかかり、ユーザーのプロフィールを見るときにアプリ全体がフリーズすることが多いということです。これをスピードアップしたり、より効率的に動作させるにはどうしたらいいですか?