Когда вы создаете новый проект Xcode, он будет указать раскадровку (Main.storyboard), чтобы быть вашим «Главный интерфейс». Вы можете увидеть это на вкладке «Общие» настроек вашей цели. В этой раскадровке вы найдете точку входа в расписание, стрелку слева от контроллера просмотра. Это означает, что контроллер просмотра (который по умолчанию относится к классу ViewController
) будет вашим контроллером корневого представления. Если вы удалите настройку «Основной интерфейс» (чтобы она была пустой), у вас не будет контроллера корневого представления автоматически; вам придется настроить его вручную.
Ознакомьтесь с примерами, которые доступны для ReactNative. Вы увидите, что общий подход заключается в том, что в application: didFinishLaunchingWithOptions:
создается экземпляр UIWindow
, за которым следует простая UIViewController
. В какой-то момент до или после этого создается экземпляр RCTRootView
(либо с использованием RCTBridge
, либо инициализатора BundleURL: moduleName:...
). Это подкласс UIView
, так что он еще не имеет UIViewController
. Поэтому он затем устанавливается как вид ранее упомянутой простой UIViewController
, который затем устанавливается как rootViewController
UIWindow
, который сделан «ключевым и видимым», после чего мы готовы.
Я работаю с ReactNative только два дня теперь, но видя выше рисунок несколько раз, я вижу себя сегодня строить что-то вроде RCTRootViewController
инкапсулировать его, передавая RCTRootView
в loadView
способе UIViewController
. Контроллер представления может иметь инициализаторы, которые соответствуют идентификаторам RCTRootView
.
Спасибо за ответ. Я получил решения по моему вопросу. – Ramakrishna
@ Рамакришна вы можете поделиться своим решением. –