小编J.D*_*Doe的帖子

Firebase 添加好友系统的最佳实践?

我正在尝试考虑构建数据库的最佳方法,以允许用户发送/接受/拒绝用户作为朋友。

我目前有一个系统,允许用户搜索用户,检查所有必要的东西,比如已经在他们的列表中的人 bhalbhla,但我不知道如何通过实际发送邀请来完成它。

我的结构如下:

Users
   290384239843
      friends:
          093824098209384: true
      username: Bob
Usernames
      Bob: 290384239843
Run Code Online (Sandbox Code Playgroud)

我想当我点击添加按钮时,它会向 Firebase 上的两个用户发送一些内容,我认为这两个选项是:

users
  29038493
    friends
       0283940839024: pending
Run Code Online (Sandbox Code Playgroud)

或者

users 
  02938409384
    friends
       3094809384903 : true
    pendingFriends: 
       0283940839024: true
Run Code Online (Sandbox Code Playgroud)

我认为两者都可能有效,但我想我会伸出援手,以防我能从对此有更多经验的人那里得到一些指导。也许有更好的完全不同的方法?

ios firebase swift firebase-realtime-database

5
推荐指数
1
解决办法
8554
查看次数

无法选择MKViewAnnotation两次?

我把针脚放在地图上,当我点击它们时,我正在调用它didSelect.该功能仅在第一次触发引脚时被调用,之后不会再次调用相同的引脚,除非我选择另一个引脚然后返回并点击它.

对我来说听起来就是引脚正在被选中,并且didSelect只能在未选择的引脚中调用,所以当我点击另一个引脚时,它会取消选择第一个引脚并使其再次可点击.

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    view.isSelected = false
}
Run Code Online (Sandbox Code Playgroud)

我不明白为什么上面的代码不起作用.

如何允许连续多次使用我的注释?

mkmapview ios swift

5
推荐指数
1
解决办法
513
查看次数

如何只显示朋友的帖子?斯威夫特/火力基地

我刚刚实现了一个朋友添加系统,我正在摸索如何只允许用户查看朋友的帖子。

在我显示帖子的主屏幕上,我有:

DataService.ds.REF_USERS.child(currentUser!).child("friends").observeSingleEventOfType(.Value) { (snapshot: FIRDataSnapshot) in

            for snapshots in snapshot.children.allObjects {
                let snap = snapshots as! FIRDataSnapshot
                var frand = String(snap.key)   
                self.friendsArray.append(frand)
            }
Run Code Online (Sandbox Code Playgroud)

这会拉回他们所有朋友的 UID。

然后我想搜索所有具有该 UID 的帖子。

我想也许我可以通过一个带有 equalTo 查询的friendsArray 做一个for循环......?但是我不确定如何使用我当前现有的查询来实现它,该查询显示了我想要查看的回帖:

DataService.ds.REF_POSTS.queryOrderedByChild("timestamp").queryStartingAtValue(cutoff).observeEventType(.ChildAdded, withBlock: { (snapshot:FIRDataSnapshot) in
Run Code Online (Sandbox Code Playgroud)

- 一堆设置我的帖子并将其附加到数组的代码-

        self.collectionView.reloadData()

    })
Run Code Online (Sandbox Code Playgroud)

我的一些数据结构是:

users
     3093098409384
        friends
            29834098209 : true

posts
     099390234
         userWhoPosted: 29834098209
Run Code Online (Sandbox Code Playgroud)

所以我将朋友从用户-> 朋友-> UID 位中拉出来,但是我如何取回这些用户发布的帖子,然后执行我正在做的正常查询?

任何指导表示赞赏。

ios firebase swift firebase-realtime-database

1
推荐指数
1
解决办法
1147
查看次数