2015-10-09 2 views
1

При установке Realm Cocoapod с pod RealmSwift я получаю это сообщениеустановка RealmSwift также устанавливает Realm (ObjC)?

Installing Realm (0.95.3) 
Installing RealmSwift (0.95.3) 

Означает ли это, что обе оболочки установлены, Objective-C и Swift? Поэтому я мог бы импортировать "Realm.h" в классы Objective-C и RealmSwift в Swift? Мне кажется, что это работает.

EDIT: Я хочу использовать Realm со смешанным проектом с использованием Objective-C и Swift в классах проектов. Вопрос в том, что мне нужно установить Pod RealmSwift

+1

Я не знаю, как настроено или работает RealmSwift, но возможно, что это всего лишь быстрая привязка поверх кода objC Realm, тогда было бы нормально иметь зависимость от версии ObjC, а вы получится как при запросе быстрой. –

ответ

3

RealmSwift - это оболочка существующего кода в Objective-C++. Поскольку Swift по-прежнему является «незавершенной», а Realm имеет очень большую базу кода, удобнее начинать обертывать старый код и предоставлять разработчикам Swift функции без необходимости повторять все с нуля.

Я не знаю, что это план на будущее, но вклад в Realm преподавал эту концепцию в workshop:

На этом семинаре вы создадите Swift рамку обертки небольшой существующей цели -C библиотека.

Чтобы ответить на ваш вопрос - no. Обертка Swift существует для поддержки функций Swift, но на самом деле вызывает только старые функции с некоторыми другими работами вокруг нее, чтобы дать ощущение Swifty.

+2

Это также необходимо, потому что ядро ​​Realm написано на C++, и нет другого способа связать C++ с Swift, чем переходить на Objective-C на данный момент. – marius

Смежные вопросы