Alexander Babaev @bealex
Creating applications and leading development
Information
Specialization
Software Developer, Mobile Application Developer
Lead
iOS development
iOS Human Interface Guidelines
SWIFT
SwiftUI
Creating applications and leading development
А для самого ребенка что-то вроде «Смотри, какие лампочки!» :-)
В любом случае, по пушу небольшую работу в фоне сделать получится, но это будет самый обычный, foreground URLSession. То есть организовать «пуши чтобы проверялось» — вполне возможно, но не рекомендуется, так как если злоупотреблять фичей, можно получить от системы по лбу.
Сам, повторюсь, не пробовал, и у Apple не увидел про это никакой информации.
Про Стратегию. Чуть ниже обсуждают похожее решение. Конечно же, можно использовать и её, ни в коем случае не говорю, что нужно только так и описывать платёжные модели. Это просто пример. :-)
Это можно сделать, вообще не вопрос. Не уверен только, что правильно. И вот почему.
Дело в том, что NSFetchedResultsController был сделан для UITableView, и так себе, например, подходит для UICollectionView с его performBatchUpdates.
Также разнится и источник изменений. В NSFetchedResultsController — внешняя сущность, CoreData. А у меня изменения должны вливаться в модель бизнес-логикой приложения. В этой ситуации проще применить сразу все изменения, нежели выдавать их по-одному.
Другое дело, что, возможно, имеет смысл дать возможность подключить стандартные операции, которые приходят из UI (редактирование таблицы из UI, перемещение ячеек) — это интересная мысль, я подумаю, что тут можно сделать.
Ну, или подключиться к событиям, после чего заполнить результат вручную (я имею в виду ATableDiff, там достаточно простые поля), и в controllerDidChangeContent — сказать diff.applyTo(collectionView:collectionView).
Впрочем, не уверен, что только ради второй части нужно использовать ATableAnimationCalculator :)