无法获取关注者计数 GetStream Swift
Cannot get follower counts GetStream Swift
正如标题所说,使用将 followCounts 设置为 true 的标志检索用户仍然会在 followersCount 和 followingCount 属性上返回 0。我已经在我的时间线提要和他们的用户提要之间建立了关注关系,但我不知道如何解决这个问题。该文档没有过多提及这些属性或填充它们所需的内容。
func initStreams(){
Client.shared.setupUser(token: self.token) { result in
switch result {
case .success:
self.userFeed = Client.shared.flatFeed(feedSlug: "User")
self.timelineFeed = Client.shared.flatFeed(feedSlug: "Timeline")
Client.shared.get(typeOf: StreamUser.self, userId: self.userID, withFollowCounts: true){ userResult in
switch userResult {
case .success(let user):
self.streamUser = user
case .failure(let err):
fatalError("Could not find stream user \(err)")
}
}
case .failure(let error):
fatalError("Error setting up user \(error.localizedDescription)")
}
}
}
func FollowUser(user: StreamUser, completion: @escaping (Bool) -> Void){
let feedID = Client.shared.flatFeed(feedSlug: "User", userId: user.id).feedId
timelineFeed!.follow(toTarget: feedID) { result in
switch result{
case .failure(let err):
print("Error following user \(err)")
completion(false)
case .success:
user.followersCount = user.followersCount ?? 0 + 1
self.streamUser?.followingCount = self.streamUser?.followingCount ?? 0 + 1
completion(true)
}
}
}
这是 "User" 和 "Timeline" feed slug 中的大写首字母。您需要将其设为小写 "user" 和 "timeline"。您需要在仪表板和代码中更改它。
正如标题所说,使用将 followCounts 设置为 true 的标志检索用户仍然会在 followersCount 和 followingCount 属性上返回 0。我已经在我的时间线提要和他们的用户提要之间建立了关注关系,但我不知道如何解决这个问题。该文档没有过多提及这些属性或填充它们所需的内容。
func initStreams(){
Client.shared.setupUser(token: self.token) { result in
switch result {
case .success:
self.userFeed = Client.shared.flatFeed(feedSlug: "User")
self.timelineFeed = Client.shared.flatFeed(feedSlug: "Timeline")
Client.shared.get(typeOf: StreamUser.self, userId: self.userID, withFollowCounts: true){ userResult in
switch userResult {
case .success(let user):
self.streamUser = user
case .failure(let err):
fatalError("Could not find stream user \(err)")
}
}
case .failure(let error):
fatalError("Error setting up user \(error.localizedDescription)")
}
}
}
func FollowUser(user: StreamUser, completion: @escaping (Bool) -> Void){
let feedID = Client.shared.flatFeed(feedSlug: "User", userId: user.id).feedId
timelineFeed!.follow(toTarget: feedID) { result in
switch result{
case .failure(let err):
print("Error following user \(err)")
completion(false)
case .success:
user.followersCount = user.followersCount ?? 0 + 1
self.streamUser?.followingCount = self.streamUser?.followingCount ?? 0 + 1
completion(true)
}
}
}
这是 "User" 和 "Timeline" feed slug 中的大写首字母。您需要将其设为小写 "user" 和 "timeline"。您需要在仪表板和代码中更改它。