Действительно ли возможно, что ВСТАВКА допустима, но что отдельное ОБНОВЛЕНИЕ сделано впоследствии, который недопустим, но не запустил бы триггер?
У меня аналогичная ситуация - и хотя вышесказанное верно в отношении невозможности чтобы использовать NSFetchedResultsController, вы все равно можете использовать основные данные для извлечения ваших данных.
Я также использовал sqlite3 раньше - и моя выборка была сделана как серия выборок с увеличивающимися размерами ограничивающей рамки - пока не будет достигнут размер, которого у меня достаточно ' полученные результаты. В моем случае я удваиваю широту и долготу для каждой итерации, что дает прибл. четырехкратное увеличение площади для каждой итерации.
Этот метод отлично работает и в Core Data, но, как также указано выше, вам необходимо скопировать объекты в новый массив и отсортировать их, используя свой собственный метод после завершения выборки .
Итак, вот проблема: когда вы выполняете NSFetchRequest
, вы можете основывать предикат только на постоянных свойствах. Кажется чрезвычайно маловероятным, что у вас будет постоянное свойство, отслеживающее расстояние от текущего местоположения.
Вы можете добавить временное свойство к своей сущности, которое дает расстояние от некоторого глобально определенного местоположения. Вам нужно будет выполнить запрос на выборку, который получит все объекты, а затем упорядочит их по этому временному свойству.
Если у вас много объектов, вы рискуете довольно быстро заполнить вашу память. И даже если вы этого не сделаете, вы все равно будете тратить время на получение объектов, которые никогда не собираетесь использовать.
Я предполагаю, что у вас, вероятно, был изящный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с помощью Core Data.
Вы можете добавить к своей сущности временное свойство, которое дает расстояние от некоторого глобально определенного местоположения. Вам нужно будет выполнить запрос на выборку, который получит все объекты, а затем упорядочит их по этому временному свойству.
Если у вас много объектов, вы рискуете довольно быстро заполнить вашу память. И даже если вы этого не сделаете, вы все равно будете тратить время на получение объектов, которые никогда не собираетесь использовать.
Я предполагаю, что у вас, вероятно, был изящный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с помощью Core Data.
Вы можете добавить к своей сущности временное свойство, которое дает расстояние от некоторого глобально определенного местоположения. Вам нужно будет выполнить запрос на выборку, который получит все объекты, а затем упорядочит их по этому временному свойству.
Если у вас много объектов, вы рискуете довольно быстро заполнить вашу память. И даже если вы этого не сделаете, вы все равно будете тратить время на выборку объектов, которые никогда не собираетесь использовать.
Я предполагаю, что у вас, вероятно, был изящный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с помощью Core Data.
Я предполагаю, что у вас, вероятно, был изящный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с помощью Core Data.
Я предполагаю, что у вас, вероятно, был изящный оператор SQL SELECT
, который вычислял текущее расстояние в вашей предыдущей версии. Вы не сможете повторить это с помощью Core Data.