Всего вопрос новичка следует ...Какао ViewController.m против Cocoa Touch ViewController.m
Я учусь Objective C на основе какао (OS X) разработка приложений. Большинство книг и видео, которые у меня есть, основаны на iOS, поэтому я вижу, как разные платформы отличаются.
Я конвертировал простое приложение для iOS в OS X. Я получил преобразованное приложение OS X, чтобы нормально работать, но у меня есть вопрос: Почему у файла OS X ViewController.m нет раздела @interface?
Я создал приложение iOS с помощью Interface Builder, перетащив элементы пользовательского интерфейса из Main.Storyboard в ViewController.m, в помощник редактора. Я перетащил ячейку UILabel в раздел @interface ViewController.m, создал переменную экземпляра @property. В iOS раздел public @interface ViewController.h остается пустым.
В приложении OS X я перетащил ячейку NSTextField в раздел @interface файла ViewController.h, чтобы создать аналогичную переменную экземпляра.
Является ли OS X ViewController.h поле @interface правильным местом для IBOutlets? Разве это не подвергает эти переменные экземпляра другим классам? В случае iOS, поскольку переменные экземпляра НЕ добавлены в файл ViewController.h, я предполагаю, что они скрыты, правильно? Могу ли я сделать переменные экземпляра OS X частным?
Как я уже говорил, код OS X работает, я просто пытаюсь понять различия между платформами и убедиться, что я возглавляю в правильном направлении.
Большое вам спасибо за ваш ответ. Как вы получили свой код?Я использую Xcode 6.3.2 на Yosemite. Когда я создаю новый проект, используя «Файл»> «Создать»> «Проект ...», выберите «Приложение для какао» в приложении OS X. У меня есть «использование раскадровки». Когда новый проект открывается, ViewController.m не имеет секции @interface. На Main.storyboard отображается Window Controller и один ViewController. Я не добавляю никаких дополнительных ViewControllers, я просто использую тот, который автоматически создается. Вы делаете что-то другое? – SDGary
И, да, я проверил, что могу вручную добавить код @interface. Это просто обход ... – SDGary
Я делаю то же самое - я не уверен, почему вы не создали расширение '@ interface' для вас. Приятно слышать, что это работает ^^ –