2015-07-10 2 views
0

Я новичок в Тайфун. Я читаю документацию для ввода зависимостей в контроллеры представлений раскадровки. У меня есть базовое понимание того, как структура делает DI на классах, но раскадровки кажутся сложными. Я прочитал как документацию storyboards, так и PList integration, но я немного смущен.Typhoon DI на интеграцию раскадровки

  1. Это может показаться глупым и очевидным. Если мое имя файла раскадровки Main.storyboard, в моем plist я бы добавил ключ UILaunchStoryboardName со значением Main.storyboard?

  2. Какая ценность для ключа UIMainStoryboardFile?

  3. Зависимости впрыскиваются автоматически или как я могу указать, какие зависимости вводятся в каждый из контроллеров представления моего раскадровки?

Я не смог найти пример или учебник, который использует раскадровку (и, так как большинство из них находятся в ObjC, и я работаю с Swift, это своего рода трудно следить за каждым шагом, так Приносим извинения заранее, если эти вопросы глупы.

ответ

1

Чтобы ответить на вопросы один и два, если вы создаете проект из Xcode, указывающий использовать раскадровки, то эти значения уже будут заполнены в вашем plist.Если у вас есть старый проект, это прекрасный способ увидеть, какие эти значения должны быть.

Что касается вопроса 3, если вы «аннотируете» свои контроллеры представления раскадровки с помощью макросов автоматического инжекции, то зависимости действительно вводятся автоматически. Для диспетчеров представлений без раскадровки, чтобы затем вводить зависимости, экземпляр должен быть получен из Typhoon, как в Quick Start.

Обратите внимание, что вы можете вставлять сборку непосредственно в контроллер вида, чтобы загружать графы введенных объектов по запросу.

+0

Когда вы говорите «аннотировать», вы имеете в виду аргумент runtime ** typhoonKey **? –

+0

Я хотел бы применить макросы автоматической инъекции (https://github.com/appsquickly/Typhoon/wiki/Auto-injection-%28Objective-C%29), или, альтернативно, вы можете использовать методы инъекции в своей сборке. –

Смежные вопросы