Я создал приложение на основе документов, в котором используются базовые данные.Сначала я создал версию для Mac, и теперь, когда она работает должным образом, я перехожу к созданию ее версии для iOS.
Я просто не могу понять, как максимизировать повторное использование кода между iOS /Версии Mac по отношению к биту данных Core, так как они не используют одни и те же классы.
Мой класс документов, который обрабатывает сохранение и является подклассом NSPersistentDocument
.Мое намерение состоит в том, чтобы хорошо спроектированный класс моделей работал в обеих средах, особенно с учетом того, что я не делаю ничего особенного в отношении данных Core.
Теперь, так как NSPersistentDocument
недоступен в iOS, я попал в стену.Я попытался обойти это с помощью #if TARGET_OS_MAC and TARGET_OS_IPHONE
и таким образом сделать его подклассом UIManagedDocument
в версии для iOS.Это, очевидно, было бы удобно, но я не могу заставить его так работать.И это действительно выглядит довольно грязно, так как есть много других вещей, которые также должны быть обусловлены.
Я также попытался построить классы поверх NSDocument
/ UIDocument
, реализуя данные Core.ловит себя, но это также выглядит довольно грязно, заставляя меня думать, что это не правильный путь.
Вопрос:
Мне это кажется хорошимИдея повторно использовать один и тот же класс документа между версиями iOS / Mac, но, возможно, я наивен.
Какой лучший способ сделать это?
Должен ли я забыть о совместном использовании кода и создать отдельный класс документов для версии iOS, который эмулирует все методы, присутствующие в версии для Mac?