переписать приложение iOS для работы как на iOS, так и на Mac - как организовать код контроллера? - PullRequest
2 голосов
/ 23 января 2011

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

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

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

1 Ответ

5 голосов
/ 23 января 2011

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

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

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

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

Счастливое кодирование,

Zane

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...