Как я создаю интерфейсы Какао без Интерфейсного Разработчика?

При удалении файла с помощью операции .delete() ожидается правильный путь. Если путь указан неверно .delete(), вы не сможете удалить файл.

Вы можете проверить достоверность файла, используя операцию oldFile.isFile().

Вам необходимо указать полный путь к файлу.

38
задан Bjorn 4 April 2009 в 17:22
поделиться

3 ответа

Я предпочел бы создавать свои интерфейсы программно.

Почему? Интерфейсный Разработчик легче и быстрее. Вы не можете записать опечатку перетаскиванием, и Вы не получаете те oh-so-handy руководства Воды при вводе прямоугольников вручную.

Не боритесь с ним. Интерфейсный Разработчик является Вашим другом. Позвольте ему помочь Вам.

Если Вы настаиваете на том, чтобы тратить впустую свое собственное время и энергию путем записи UI в коде:

Не основанный на документе (обычно основанный на библиотеке, как Почта, iTunes, iPhoto): Создайте подкласс NSObject, инстанцируйте его и сделайте его делегатом приложения, и в делегате applicationDidFinishLaunching: метод, создайте окно, заполните его с представлениями и закажите ему переднюю сторону.

Основанный на документе (как TextEdit, предварительный просмотр, QuickTime Player): в makeWindowControllers метод в Вашем подклассе NSDocument, создайте свои окна (и заполните их с представлениями), и создайте контроллеры окна для них, удостоверившись отправлять себя addWindowController: для каждого контроллера окна.

22
ответ дан Peter Hosey 27 November 2019 в 03:24
поделиться

Мне нравится этот вопрос, и я также хотел бы узнать о ресурсах для отказа от IB. Полезность («почему») ограничена только воображением. Вне моей головы, вот несколько возможных причин для явного программирования UI:

  • Реализация лучшего Interface Builder.
  • Программирование динамических UI, то есть тех, чья структура не известна статически (во время компиляции / xcode).
  • Реализация серверной части Какао кроссплатформенной библиотеки или языка для пользовательского интерфейса.
36
ответ дан 27 November 2019 в 03:24
поделиться

На самом деле IB становится совершенно бесполезным, когда вы начинаете писать свои собственные классы пользовательского интерфейса. Допустим, вы создаете свою собственную кнопку, которая использует систему скинов, основанную на plist. Или вы создаете динамическую панель инструментов, которая загружает и выгружает элементы на основе выбора пользователя.

IB не принимает пользовательские элементы UI, поэтому более сложные UI не могут его использовать. И ДА, вы захотите сделать более сложные вещи, которые дает UIKit.

4
ответ дан 27 November 2019 в 03:24
поделиться