Базовые Данные по сравнению с Sqlite и производительностью

self относится к текущему классу (в котором он называется),

$this относится к текущему объекту. Вы можете использовать статические вместо себя. См. Пример:

    class ParentClass {
            function test() {
                    self::which();  // output 'parent'
                    $this->which(); // output 'child'
            }

            function which() {
                    echo 'parent';
            }
    }

    class ChildClass extends ParentClass {
            function which() {
                    echo 'child';
            }
    }

    $obj = new ChildClass();
    $obj->test();

Вывод: родительский ребенок

24
задан Grouchal 25 June 2009 в 17:51
поделиться

2 ответа

Core Data сильно оптимизирован в отношении кэширования, отложенной загрузки и управления памятью.

Если вы используете его (с типом хранилища SQLite), особенно в сочетании с NSFetchedResultsController, вы должны получить лучшую производительность, чем вы могли бы получить с SQLite самостоятельно

Apple приложила много усилий, чтобы Core Data хорошо работала на iPhone. Мое приложение переключилось с SQLite с FMDB на Core Data, и теперь оно работает быстрее и стабильнее с меньшим количеством кода.

35
ответ дан 28 November 2019 в 23:47
поделиться

Core Data может использовать sqllite - это должен настраивать разработчик - так что ваш подозреваемый правильно. В отношении телефона я бы посоветовал sqllite - лучшая идея.

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

2
ответ дан 28 November 2019 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: