在我的应用程序中,每个用户都设置了一个个人资料页面,所有这些信息都存储在 Parse 上。当当前用户点击一个按钮时,它会切换到一个 tableViewController,它会在单元格中显示应用程序上的所有其他用户。在每个单元格中都有一个按钮,用户按下该按钮可以查看他们选择的用户的完整个人资料页面。我设置了一个 VC 来保存我只是不知道如何显示当前用户选择的特定用户的所有信息。如何挑选出选定的用户信息?我已经阅读了有关关系查询的 Parse 文档,但我似乎无法理解它。https://parse.com/docs/ios/guide#queries-relational-queries
所以更详细地说,基本上我所有的用户都在 VC 上显示。它有姓名和头像,当用户点击某个用户旁边的信息按钮时,它应该打开一个新屏幕并显示存储在 Parse 上的所有这些用户信息。
我尝试在课堂外创建一个静态
struct Data { var OtherName:String! var id:String! }
然后在我的 ViewDidLoad 中:
let query = PFQuery(className: "_User")
// otherQuery.orderByDescending("createdAt")
query.whereKey("username", notEqualTo:PFUser.currentUser()!.username!)
query.findObjectsInBackgroundWithBlock { (users: [AnyObject]?, error: NSError?) -> Void in
if error == nil {
// success
print(users!.count)
for user in users! {
self.imageFiles.append(user["image"] as! PFFile)
self.instrumentText.append(user["instrument"] as! String)
self.nameText.append(user["name"] as! String)
self.ageText.append(user["age"] as! String)
// self.locationText.append(user["location"] as! PFGeoPoint)
var singleData = Data()
singleData.id = user.objectId
singleData.OtherName = user["name"] as! String
print("\(singleData)")
} // users
然后在信息按钮连接到的 VC 上,我试图调用它并仅使用所选用户上传每个标签。
self.userName.text = "" as String
但是“”保持空白。
然后我在想,如果我添加,当按下更多信息按钮时,它被按下的用户被选中并被添加到 Parse 上的选定字符串中,然后我只需要在我的时候从选定的字符串中调用用户在所选用户的个人资料页面上并以这种方式调用信息,然后当用户单击后退按钮时,不再选择该用户。似乎我会添加和带走很多用户以在 Parse 中“选择”有更好的方法吗?
我能够显示所有用户信息,但是如何在不使用 objectId 的情况下仅显示 Parse 中选择的用户,因为在每个单元格的顶部,它每次都会在此处返回不同的用户,具体取决于先前在不同 VC 上设置的设置,例如因为只显示特定年龄段的用户等。我知道我必须在触摸的按钮上设置某种 ID,但我完全不知所措。我能找到的唯一在线帮助是为其他语言设置的,例如。https://parse.com/docs/js/guide#users-querying > 所以我想我的问题是:
1.有没有人知道他们可以指点我的教程。
2.有谁知道我是怎么开始的,我可以自己从那里开始。
3.有人可以帮忙吗?
*Swift 和 Parse 新手几乎没有其他语言的经验。
firstVC 中的新代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "userProfileDetailsSegue" {
if let indexPath = resultsPageTableView.indexPathForSelectedRow {
let controller = (segue.destinationViewController) as! UserProfileDetailsViewController
***error here: UserProfileDetailsViewController.userToShowDetail = indexPath.row
//line above is the one I can't get to work it needs to equal to the cell selected?
}
}
}
destinationVC 中的新代码:
var userToShowDetail: PFUser? {
didSet {
self.configureView()
}
}
func configureView() {
// Update the user interface for the detail item.
if let userToShowDetail: PFUser = self.userToShowDetail {
if let label = self.userName {
nameText.append(userToShowDetail["name"] as! String)
// self.nameText.append(user["name"] as! String)
}
}
}