Я новичок в Objective-C, Какао, Xcode и Интерфейсном Разработчике. В прошлом у меня был некоторый опыт работы с Си, а также немалый опыт работы с RealBASIC.
Я работаю над книгой Марка и Ламарша для iPhone 3 Dev и действительно просто ошеломлен тем, насколько скучны некоторые вещи. Может быть, кто-то может пролить свет на это для меня. Мой вопрос на самом деле: почему процесс, казалось бы, простых действий включает в себя такое сложное количество шагов? Есть ли польза от сложности, которую я полюблю позже? Или это просто грубый факт, который неизбежен?
Например, в RealBASIC, если я хочу, чтобы значение ползунка отображалось в текстовом поле, я просто добавляю:
myTextBox.text = mySlider.value
к событию Изменено ползунком. Я могу запрограммировать это менее чем за 1 минуту.
В Xcode / Interface Builder мне нужно физически ввести объявление для текстового поля и ползунка, затем также ввести объявление свойства / выхода для каждого, затем создать объявление метода и реализацию для четного ValueChanged, затем установить (относительно) сложное приведение типа целочисленного значения ползунка в строку NSString с помощью initWithFormat. Затем я должен вернуться в Интерфейсный Разработчик, чтобы связать элементы управления с наборами элементов управления и методов, которые я набрал. Я не понимаю, как это можно сделать гораздо менее чем за 10 минут. Может быть 5.
Так в чем же выгода? Почему Интерфейсный Разработчик не создает автоматически или, по крайней мере, не предлагает управляющие объявления и операторы @property, а также объявления и реализации методов? Почему нельзя дважды щелкнуть слайдер в IB, чтобы предложить вам список событий и предложить автоматически вставить скелетный метод в ваши файлы .h и .m? И почему IB даже должен быть отдельным приложением?
Я готов признать, что отчасти это мое незнакомство со всеми вещами XCode, но действительно ли это так эффективно, как может быть среда разработки?
Приношу свои извинения, если это тема мертвой лошади, пламенной приманки с противоборствующими сторонами на полной аггро. Если это так, пожалуйста, просто скажите «да, это так» и продолжайте.
Спасибо,
* 1020 Роб *