Parse.com Получить пользователя, которому нравится объект

Поэтому я правильно установил свои отношения в Parse, используя следующий код:

var user = PFUser.currentUser() var relation = user.relationForKey("likes") relation.addObject(self.post) user.saveInBackgroundWithBlock({ (Bool, error) -> Void in println("user likes this post") // Used for tracking in the PFTableCell for UI parts self.userLikes = true })

Когда представление загружается, мне нужно изменить кнопки на Liked, цвет и т. Д. Я хочу, чтобы все пользователи, которым понравился этот конкретный пост, но не смогли выяснить запрос? Это даст мне другую полезную информацию (например, я мог бы отображать имена пользователей, которым понравился пост).

В качестве обходного пути я могу получить все сообщения, которые нравится пользователю, выполнив:

var user = PFUser.currentUser()
var relation = user.relationForKey("likes")
relation.query().findObjectsInBackgroundWithBlock {
    (objects: [AnyObject]!, error: NSError!) -> Void in
    if error != nil {
        // There was an error
        println(error)
    } else {
        // objects has all the Posts the current user liked and do something.
        println(objects)         
    }
}

Но это не то, что я после? Я использую Swift и Parse SDK, но с радостью получу ответ в Obj C, и я переведу. Предложение Parse docs неверно: https://www.parse.com/docs/ios_guide Я мог бы хранить подобные записи вместо сообщений, но это означало бы, что мне придется открыть права доступа к посту которого нет-нет

1 ответ

Решение

Существует проблема с вашей структурой базы данных. У вас должны быть не только объекты User, но и объекты Post. Сообщение может иметь отношение лайков, которое указывает на всех пользователей, которым понравилось сообщение. Когда пользователю нравится публикация, он добавляется в отношение "Нравится". Таким образом, чтобы получить необходимую информацию, вам просто нужно посмотреть на связь с постом.

Что вы имеете в виду с правами открытого доступа к Почте? Вы хотите, чтобы сообщение было доступно только для всех пользователей, кроме пользователя, который его опубликовал?

Или проблема с предоставлением доступа к объектам пользователя? Я не уверен, действительно ли это проблема, так как вы можете просто выполнить быстрый подсчет объектов User в отношении, фактически не просматривая данные в объектах User. Вы могли бы создавать объекты Like, но я не думаю, что это необходимо.

Другие вопросы по тегам