Смешивать указатели и управляемые объекты обычно бесполезно, потому что в Core Data так много оптимизаций, что прямое управление памятью практически невозможно, например, объект может вернуться к ошибке.
Вы действительно ошибаетесь.Базовые данные - это в первую очередь не API-интерфейс персистентности, а API-интерфейс моделирования данных, предназначенный для предоставления полного уровня модели в приложении разработки Mode-View-Controller.Таким образом, вы можете использовать его, не сохраняя ничего вообще.Если вы используете базовые данные и у вас есть такие данные, как аннотация карты, аннотация должна быть смоделирована в базовых данных.Это упростит все.
Поскольку нет класса MSAnnotation, а есть просто протокол MKAnnotation, простейшим решением в этом случае будет создание класса NSManagedObject, который реализует протокол MKAnnotation.Вы можете конвертировать данные о местоположении, например CLLocationCoordinate2D
, в NSValues или, что еще лучше, просто создать для них атрибуты.Поскольку класс реализует протокол, вы можете передавать управляемые объекты везде, где вы проходите любой объект протокола.