Можно ли сбрасывать / обновлять определенные автономные объекты 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команда. Используя это, вы можете добавить фильтр к вашему определяющему запросу и, таким образом, загружать только определенные записи.

Документация: https://help.sap.com/doc/978e4f6c968c4cc5a30f9d324aa4b1d7/2.1/en-US/Documents/Frameworks/SAPOfflineOData/Extensions/DataService.html

Согласно документации метода обновления:

Обновите модель.

Это перезагрузит все данные, хранящиеся в модели. Это проверит все привязки на наличие обновленных данных и обновит элементы управления, если данные были изменены.

Примечание. В отличие от отдельного обновления привязки, обновление модели игнорирует параметры / запросы, специфичные для привязки.

Если вы хотите получить только определенные записи в модели, вам следует обратить внимание на метод invalidateEntry:

Сделать недействительным одну запись в данных модели.

Отметить выбранную запись в кэше модели как недопустимую. В следующий раз, когда будет выполнено связывание контекста или списка, запись будет определена как недопустимая и будет обновлена ​​с сервера.

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