Простые основные данные против основных данных + Magical Record

Я планирую способ сохранить данные для приложения iOS (быстро). Прочитав кучу статей о сохраняемости в iOS, кажется, что Core Data — действительно хорошо поддерживаемый способ сделать это. Вокруг него построено множество библиотек/инструментов, одной из популярных комбинаций является MoGenerator + MagicalRecord + Core Data.

Поскольку MagicalRecord предоставляет некоторую функциональность Active Record, кажется, что может быть «легко» случайно что-то сломать. Мне сказали, что может случиться так, что пользователям придется переустанавливать свое приложение, чтобы восстановиться после таких сбоев.

Итак, вопрос: можно ли использовать простые Core Data вместо MoGenerator + MagicalRecord + Core Data? Или это настолько низкий уровень, что он позволяет использовать необработанные Core Data только для больших команд? Можно ли сравнить плюсы и минусы простого SQL с ORM?


person Philip    schedule 20.01.2015    source источник
comment
Было время до MR & mo, когда всем приходилось использовать обычный компакт-диск, дополнительные инструменты — это удобство, но не более того.   -  person Wain    schedule 20.01.2015
comment
Согласитесь с Уэйном, Magical Record удаляет много стандартного кода, и это действительно здорово, но не решит никаких проблем. Я использую его лично в небольших проектах   -  person Daniel Galasko    schedule 20.01.2015
comment
Кстати, вы также можете использовать Core Data с MoGenerator без MR.   -  person Martin R    schedule 20.01.2015
comment
Используйте простые Core Data! Создайте себе хороший базовый механизм обработки данных и стройте его поверх него! Начало немного сложное, пока вы не поймете все, что происходит, но оно того стоит!   -  person Razvan    schedule 20.01.2015
comment
Хорошо, спасибо! (Очень похоже на ответы ;))   -  person Philip    schedule 20.01.2015
comment
@codeFi, так что, вероятно, необходимо выполнить обычную очистку и красиво поместить результаты запроса в переменные, верно?   -  person Philip    schedule 20.01.2015
comment
@Philip, когда я сказал создать движок, я имел в виду мастер-класс, который содержит и инициализирует стек Core Data с различными механизмами работы, такими как несколько контекстов, несколько хранилищ, многопоточность (частные контексты) и так далее. Вот такие штуки :) - класс, который впоследствии можно легко использовать в других проектах.   -  person Razvan    schedule 20.01.2015
comment
Magical Record просто экономит ваше время, когда вы имеете дело с Core Data. Но это ничего не меняет. Вы все еще используете Core Data, и вам нужно сначала понять, как это работает, чтобы эффективно использовать Magical Record. Я предлагаю другой вариант. Используйте Царство.   -  person mustafa    schedule 20.01.2015


Ответы (1)


Я настоятельно рекомендую НЕ использовать MR или Mogenerator, пока вы не узнаете достаточно о Core Data, чтобы знать, ЗАЧЕМ их использовать.

Magical Record действительно может показаться волшебством, если вы не понимаете, что он делает под капотом. А использовать Core Data без хорошего понимания базовой структуры значит создавать проблемы, до которых вы никогда не доберетесь. Существуют ловушки Core Data, которые вам нужно будет понять, какой бы инструмент вы ни использовали.

CD на самом деле не является низкоуровневым по сравнению с MR: но он более подробный (MR избавляет вас от большого количества шаблонов). Однако я бы порекомендовал потратить немного времени на чтение достойной книги, такой как Learning Core Data for iOS Тима Роудли. Когда вы проработаете это, вы можете обнаружить — как предполагает codeFi — что вы построили себе основной механизм обработки данных, который делает для вас достаточно, так что добавление Magical Record не нужно.

Еще одна проблема с переходом на MR заключается в том, что стабильной версии 2.2 уже два года. Версия 2.3 все еще находится в стадии бета-тестирования, и в будущем основное внимание будет уделено версии 3.0. Если вы используете стабильную версию и обнаружите в ней проблемы, они не будут исправлены. Если/когда v3.0 будет готов, интерфейс может быть совершенно другим.

person foundry    schedule 20.01.2015