Пример: Могу ли я создать NIB, который представляет иерархию представлений, и использовать этот NIB с несколькими различными подклассами UIViewController?
Потому что: кажется, что владелец файла жестко привязан к определенному классу. Какой в этом смысл? Просматривает ли система загрузки пера все файлы xib и выясняет по ним, какой класс хочет какой xib? Для меня было бы намного логичнее, если бы классы сказали системе загрузки пера, что они хотят загрузить xib xyz. На самом деле все это перо - просто архив для объектов, почти то же самое, как если бы я создал их программно и связал бы их друг с другом. Или не?
2 ответа
Есть метод loadNibFileNamed: withOwner. Конечно, у объектов-собственников должны быть подходящие розетки ...
Вызов
[[NSBundle mainBundle] loadNibNamed:@"MyNIBFile" owner:myViewController options:nil];
Как сказал Марк, у объекта-собственника должны быть правильные розетки.
Если вы хотите использовать -initWithNibName:bundle:
, самым чистым способом ИМО было бы наследование всех контроллеров представления от общего подкласса, в котором вы определяете общие выходы. Затем вы можете использовать этот класс как класс владельца файла в IB.
Похожие вопросы
Новые вопросы
iphone
НЕ ИСПОЛЬЗУЙТЕ этот тег, если вы не обращаетесь конкретно к iPhone и / или iPod touch от Apple. Для вопросов, не зависящих от оборудования, используйте тег [ios]. Больше тегов, которые нужно рассмотреть, это [xcode] (но только если вопрос касается самой IDE), [swift], [target-c] или [cocoa-touch] (но не [cocoa]). Пожалуйста, воздержитесь от вопросов, касающихся iTunes App Store или iTunes Connect. Если вы используете C #, пометьте [mono].