Можно ли сбрасывать / обновлять определенные автономные объекты oData в SAP Cloud Platform?
Стандартные функции очистки / обновления автономных oData выполняются для всех объектов в автономном хранилище.
Это, конечно, влияет на мобильные данные и производительность.
Есть ли способ сбрасывать / обновлять только определенные объекты в автономном магазине?
0 ответов
Вы можете записать сущность, которую хотите обновить или очистить, в третьем параметре методов в виде массива строк, где каждая строка - это имя, которое вы указываете каждому "entitySet" в объекте definingRequests.
Представьте, что вы определили это при создании магазина:
"definingRequests" : {
"foo" : "/fooSet",
"bar" : "/barSet"
}
Затем, если вы хотите обновить только объект foo, метод обновления будет таким:
store.refresh(refreshCallback, errorCallback, ["foo"], progressCallback);
Для автономного OData с использованием iOS SDK существует withSubset
параметр для download
команда. Используя это, вы можете добавить фильтр к вашему определяющему запросу и, таким образом, загружать только определенные записи.
Согласно документации метода обновления:
Обновите модель.
Это перезагрузит все данные, хранящиеся в модели. Это проверит все привязки на наличие обновленных данных и обновит элементы управления, если данные были изменены.
Примечание. В отличие от отдельного обновления привязки, обновление модели игнорирует параметры / запросы, специфичные для привязки.
Если вы хотите получить только определенные записи в модели, вам следует обратить внимание на метод invalidateEntry
:
Сделать недействительным одну запись в данных модели.
Отметить выбранную запись в кэше модели как недопустимую. В следующий раз, когда будет выполнено связывание контекста или списка, запись будет определена как недопустимая и будет обновлена с сервера.