繁体   English   中英

iOS如何为每个用户获取数据以解析Swift

[英]iOS How to fetch data for each user parse Swift

如何获取所需用户的数据。 为此,我要使用文本字段在其中写入用户名和按钮,该按钮将加载有关用户的所有信息。 现在,我的代码从数据库加载所有用户:

 let query = PFUser.query()
    query?.findObjectsInBackground(block: { (object, error) in
        for objects in object! {
            let user = objects["username"] as! String
            print(user)

        }

    })

如何为我想要的用户制作它?

可以这样在本地过滤用户:

query?.findObjectsInBackground {(objects, error) in
    let users = objects as? [PFUser]
    for object in (users!.filter { $0.username == something }) {
        // do something
    }
}

但这是一个很糟糕的主意,因为您的用户列表可能很大,而且效率很低。 如果使用的是PFQuery ,则可能要添加一个约束:

let query = PFUser.query()
query.whereKey("username", equalTo: something)

现在,当您调用findObjectsInBackground ,只会得到相关的结果。

您正在以下位置获取object中的用户列表:

query?.findObjectsInBackground(block: { (object, error) in

把一个where子句中for循环,你所需的用户名相匹配,以获得单个用户:

    for objects in object! where (objects["username"] as! String) == "Your_Text_Field.text" {
        print(objects)

        let userName = objects["username"] as! String
        print(userName)
    }

如果您不想匹配确切的名称,而是想通过搜索输入的文本来获得用户列表,则可以应用过滤器:

    query?.findObjectsInBackground {(object, error) in
        if let users = object as? [PFUser] {
            let filteredUsers = users.filter { $0.username.contains("Your_Text_Field.text") }
            print(filteredUsers)
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM