В моем приложении каждый пользователь настраивает страницу профиля, и вся эта информация хранится в Parse. Когда текущий пользователь нажимает кнопку, он переходит к tableViewController, который отображает в ячейках всех других пользователей приложения. В каждой ячейке есть кнопка, которую пользователь нажимает, чтобы просмотреть страницу полного профиля пользователя, которую они выбрали. У меня есть VC, настроенный для хранения всей информации, которую я просто не знаю, как отображать конкретного пользователя, выбранного в нем текущим пользователем. Как выделить выбранную информацию пользователей? Я прочитал документацию Parse по реляционным запросам, но, похоже, я не могу ее обойти. https://parse.com/docs/ios/guide#queries-relational-queriesОтображение определенного пользователя и всей их информации, хранящейся при разборе, на другом контроллере просмотра в Swift
Так что в мельчайших деталях в основном все мои пользователи отображаются на ВК. Он имеет имя и изображение профиля, когда пользователь нажимает на кнопку информации рядом с определенным пользователем, он должен открыть новый экран и отобразить всю эту информацию пользователей, хранящуюся в 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 без использования objectId, потому что в верхней части каждой ячейки он каждый раз возвращает другого пользователя в зависимости от настроек, ранее установленных на другой VC, например, только показывать пользователей в определенной возрастной группе и т. д. Я знаю, что я должен установить какой-то идентификатор на нажатой кнопке, но у меня полная потеря. Единственная онлайн-помощь, которую я могу найти, устанавливается для других языков, например. https://parse.com/docs/js/guide#users-querying> Так что я догадался, что мой вопрос:
1. Кто-нибудь знает учебник, на который они могут навестить меня.
2. Кто-нибудь знает, как я даже начинаю, и я могу оттуда сам.
3.Can помочь?
* Swift и Parse newbie мало что не имеют опыта работы на других языках.
Новый код в 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)
}
}
}
Hi @ pbush25 благодарит за вашу помощь, безусловно, правильный путь. Я чуть ли не сработал, за исключением последней строки в коде на VC1. Я отредактировал свой ответ выше, чтобы показать новый код. В очередной раз благодарим за помощь! – Grace
Как хранятся ваши объекты, которые вы используете для заполнения таблицыView? – pbush25
В пользовательской ячейке. – Grace