Web*_*ger 1 xamarin.ios mvvmcross xamarin
我在使用IoC激活IMvxMessenger时遇到问题.(Mac,Xamarin Studio,iOS7,Mono 3.2)
我已经下载了NPlus1DaysOfMvvmCross并加载了N37 Maps项目.
编译项目,它工作正常.
然后我将Cirrious.MvvmCross.Plugins.Messenger.dll添加到项目中,并将以下代码添加到app.cs初始化服务IoC调用之下.
CreatableTypes (typeof(IMvxMessenger).Assembly).AsInterfaces ().RegisterAsSingleton ();
Run Code Online (Sandbox Code Playgroud)
编译时我收到并收到错误:创建Cirrious.MvvmCross.Plugins.Messenger.MvxSubscriptionToken时无法解析Guid类型参数id的参数
IMvxMessenger是一个插件,不需要像你一样注册IoC.通过bootstrap为要在项目中使用的每个插件创建一个类来注册插件,如下所示:
public class MessengerPluginBootstrap
: MvxPluginBootstrapAction<Cirrious.MvvmCross.Plugins.Messenger.PluginLoader>
{
}
Run Code Online (Sandbox Code Playgroud)
一些具有平台相关部分的插件,例如Visibility Plugin,需要在iOS上以不同的方式注册,因为它很愚蠢:
public class VisibilityPluginBootstrap
: MvxLoaderPluginBootstrapAction<Cirrious.MvvmCross.Plugins.Visibility.PluginLoader, Cirrious.MvvmCross.Plugins.Visibility.Touch.Plugin>
{
}
Run Code Online (Sandbox Code Playgroud)
这样你就可以使用IoC来使用插件内部的类型.
| 归档时间: |
|
| 查看次数: |
1824 次 |
| 最近记录: |