Я не уверен в том, что вы действительно спрашиваете. Поля Relation
представляют собой наборы указателей на другие поля ParseObject
. Вам не нужно добавлять вспомогательные методы в подкласс, если вам это не нужно. Суперкласс ParseObject
имеет все методы, необходимые для взаимодействия с полями отношения. Основной точкой входа является getRelation("columnName")
, которую вы можете использовать на любом экземпляре ParseObject
.
Допустим, у вас есть класс AnywallPost
, и вы установили столбец отношений "likes"
, в котором хранятся все ParseUser
, которым понравился этот пост. Документация довольно ясно объясняет, как получить/установить.
Установить
На самом деле вы ничего не устанавливаете, вы просто добавляете новый элемент в поле отношения.
ParseRelation<ParseUser> relation = anywallPost.getRelation("likes");
relation.add(parseUser1);
relation.add(parseUser2);
anywallPost.saveInBackground();
Удобным методом внутри вашего подкласса может быть add(ParseUser user)
:
public void add(ParseUser user) {
ParseRelation<ParseUser> relation = this.getRelation("likes");
relation.add(user);
this.saveInBackground();
}
Тогда вы можете просто позвонить anywallPost.add(parseUser)
.
Получить
На самом деле вы ничего не получаете, а скорее находите элементы внутри отношения. Это действительно хорошо задокументировано в официальной документации. Полезный метод внутри вашего подкласса может дать вам запрос:
public ParseQuery<ParseUser> getLikes() {
return this.getRelation("likes").getQuery();
}
Затем вы можете использовать ParseQuery<ParseUser> q = anywallPost.getLikes()
и использовать запрос по своему усмотрению.
person
natario
schedule
17.08.2015