В IB нет ничего волшебного.он не добавляет никаких функций, кроме возможности просматривать и редактировать динамические типы в режиме WYSIWYG.он использует все функциональные возможности интерфейсов классов, а также некоторые внутренние компоненты Какао (которые вам достаточно видны - такие вещи, как привязки и архивирование).
самое большое различие во время выполнения состоит в том, как объекты (например, NSViews)создано.с nibs вы получаете разархивирование nib, а не [[MONView alloc] initWithFrame:r]
.
, вам действительно не понадобится много учебников, если вы уже знакомы с языком / шаблонами.как правило, вы просто ищете свойства с тем же именем и определяете его там.Кроме того, вы будете реализовывать свои собственные методы initWith, а не методы NSCoder + awakeFromNib.Это действительно очень просто, когда вы понимаете, как IB разархивирует перо.
, поэтому ... в качестве отправной точки я бы порекомендовал преобразовать функциональные перья в функциональные программные реализации.по пути вам нужно будет найти несколько методов, чтобы понять, как манипулировать и строить графики NSView - как преобразовать то, что вы знаете в IB, в исходные представления.
я действительно не знаю оконкретный ресурс, я хочу сказать, что это проще, чем вы можете себе представить.Конечно, есть несколько пабов, которые кратко демонстрируют это, но те, о которых я знаю, быстро демонстрируют это в нескольких случаях как доказательство концепции, а затем продолжают учебные пособия, используя IB.
лучший уникальный ресурс, который я знаюэто программирование какао (Anguish / Buck / Yacktman) - возможно, оно датировано или было пересмотрено.последний рев, о котором я знаю, относится к 2002 году.
наконец, многие люди могут сказать вам, что это ужасная идея - не использовать IB.Если вы хотите серьезно заниматься разработкой и уже понимаете IB, я думаю, что это отличный навык, и он очень полезен для меня - особенно для сложных приложений и больших баз кода.для простых приложений это не имеет большого значения.я редко создаю / использую перья - я просто реализую это программно в большинстве случаев.я нахожу это чище, быстрее и менее излишним.Кроме того, у меня есть тонна пользовательских реализаций и я использую objc ++, так что ... IB не особо помогает, когда ты так далеко от основной линии.
удачи!