2011-01-23 4 views
2

У меня есть приложение iOS, которое я переписываю для работы как на Mac, так и на iOS. Я считаю, что мои взгляды работают достаточно хорошо, но на данный момент все статично.переписывание приложения iOS для работы как с iOS, так и с Mac - как организовать код контроллера?

Что я обычно делаю с кодом контроллера вида? В приложении только для iOS это, как правило, куча вещей, которые говорят такие вещи, как «если пользователь прикасается сюда, сделайте это».

Я нашел метод hitTest:. Поэтому я уверен, что могу написать все, чтобы он работал. Думаю, мой вопрос более организационный. В идеале я хотел бы настроить все, чтобы код, который в настоящее время находится в подклассах UIViewController, будет работать на обеих платформах.

ответ

5

Вы не сможете заставить код UIViewController работать на обеих платформах. У Mac нет UIKit, а iPhone не имеет AppKit.

Что вы действительно хотите сделать на этом этапе - это все ваши сетевые, математические и логические коды во внешних классах. Обычно подклассы NSObject. Затем все, что вам нужно сделать, это написать код, который вызывает эти классы внутри ваших контроллеров.

Вы столкнетесь с еще одной проблемой, хотя - я не думаю, что вы можете запустить приложение на iPhone и Mac с одного Bundle. Когда вы компилируете свое приложение, вы обычно компилируются на конкретный процессор. Mac работает на Intel/PowerPC, а iPhone работает на руке. Вам придется бесконечно возиться с целями построения и т. Д.

Я предлагаю поддерживать два отдельных проекта и размещать вышеупомянутые логические классы в общем местоположении и следить за тем, чтобы при импорте их вы не выбирали опцию «Скопировать в папку назначения». Таким образом, любые изменения, внесенные вами в версию iPhone, распространяются на версию Mac и наоборот.

Счастливый кодирования,

Зейн

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

  • Нет связанных вопросов^_^