Поддерживается ли это в настоящее время?
Я так не думаю.
Я никогда не использовал раскадровки для создания чего-либо, кроме демонстрационного приложения, поэтому я не эксперт.
Однако из того, что я знаю, я думаю, что есть 3 проблемы, которые вам нужно будет преодолеть.
1. Раскадровки не имеют кода в FinishedLaunching
Я думаю, это легко решить - вы можете просто добавить переопределение в FinishedLaunching, которое вызывает класс установки MvvmCross для инициализации IoC, плагинов, вашего приложения и т. д.
2. MvvmCross vNext требует, чтобы вы переопределяли конструкторы для таких форм, как
public DetailViewController (MvxShowViewModelRequest request) {
}
в то время как раскадровки требуют использования таких форм, как:
public DetailViewController (IntPtr handle) {
}
Преодолеть это сложнее… но хорошая новость заключается в том, что в версии 3 это должно быть намного проще — одна из заявленных целей версии 3 — каким-то образом поддерживать раскадровки — см. http://slodge.blogspot.co.uk/2013/02/mvvmcross-v3.html
3. Столкновение концепций
Если вы используете раскадровки, то логика навигации привязана к раскадровке и к UIViewController.
Если вы используете MvvmCross, то логика навигации привязана к ViewModels.
Преодолеть это было бы относительно просто — вы можете легко смешивать и сопоставлять концепции — но в результате ваши ViewModels и Views могут показаться вам «немного странными».
Резюме
Сделать это сегодня возможно, но потребуется несколько часов взлома.
Бета-версия v3 выйдет очень скоро (в течение нескольких недель — все зависит от моего свободного времени). Как только это будет доступно, я думаю, вы сможете приступить к работе намного быстрее.
person
Stuart
schedule
19.02.2013