我购买了有关如何通过“ zero2launch”制作火种应用程序的udemy教程,并遵循了该教程,并且效果很好,但是,卡片上的用户是男性还是女性,我想找到一种方法-使用分段控制-只显示男性或女性。

我已经尝试向他们发送消息,但几天后还没有得到任何回复,所以现在我转向stackOverflow社区来帮助我。

我相信这是适当的代码

func findUsers() {

        if queryHandle != nil, myQuery != nil {
            myQuery.removeObserver(withFirebaseHandle: queryHandle!)
            myQuery = nil
            queryHandle = nil
        }

        guard let userLat = UserDefaults.standard.value(forKey: "current_location_latitude") as? String, let userLong = UserDefaults.standard.value(forKey: "current_location_longitude") as? String else {
            return
        }

        let location: CLLocation = CLLocation(latitude: CLLocationDegrees(Double(userLat)!), longitude: CLLocationDegrees(Double(userLong)!))
        self.users.removeAll()

        myQuery = geoFire.query(at: location, withRadius: distance)

        queryHandle = myQuery.observe(GFEventType.keyEntered) { (key, location) in

            if key != Api.User.currentUserId {
                Api.User.getUserInforSingleEvent(uid: key, onSuccess: { (user) in
                    if self.users.contains(user) {
                        return
                    }
                    if user.isMale == nil {
                        return
                    }
                    self.users.append(user)
                    self.setupCard(user: user)
                    print(user.username)
                })
            }
        }
    }

}


任何帮助将不胜感激!

最佳答案

我仍然不明白您的具体问题是什么?
您可能可以使用此功能:

@IBAction func selectGender(_ sender: UISegmentedControl) {
    switch(sender.selectedSegmentIndex){
    case 1: // male users
        // update your cards to only list male users
        self.users = self.users.filter { $0.isMale }
    case 2: // female users
        self.users = self.users.filter { !$0.isMale }
    }
}


并将此操作连接到您的分段控件

关于swift - 如何仅在火种风格的应用程序上显示男性或女性用户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56948581/

10-12 05:41