1

新的 Google Analytics SDK 引入了一个新的子类UIViewController,您必须从中继承:GAITrackedViewController.

更多信息:https ://developers.google.com/analytics/devguides/collection/ios/v2/screens

这显然与 冲突MvxBindingTouchViewController,因为您只能从 C# 中的一个类继承。

让这个工作的推荐方法是什么?

4

1 回答 1

0

MvvmCross 的 MvxTouchViewController 很特别...

MvvmCross 的 MvxBindingTouchViewController 更特别……

但这些只是特殊之处在于它们继承自标准 UIViewController(UIVIewController、UITableViewController、UITabBarController 等),然后它们添加了以下功能:

  • Cirrious.MvvmCross 层的 ViewModel 构造和 ViewModel 属性
  • Cirrious.MvvmCross.Binding层的Bindings的构造和存储

看一些例子:

在这些中,您可以希望看到这涉及到大量的代码剪切和粘贴——尽管我们确实尝试使用扩展方法将其最小化。(如果 C# 有多重继承或混合,我们就不需要这样做 - 我很想拥有混合......但永远不想要多重继承!)

所以....如果你想添加自己的 MvxXXXXXBindingViewController,那么:

  1. 参加你的基础 XXXXX 课程,
  2. 继承它并添加“东西”来制作 MvxXXXXViewController,
  3. 然后获取您的 MvxXXXXXViewController 并再次从它继承以制作您的 MvxBindingXXXXXViewController
  4. 发布到您的博客和新的 GitHub 存储库,以便其他人可以背负您的辛勤工作
  5. 任务完成

进阶说明:

  • 如果您想在 Droid 中看到相同的内容,请参阅Insert a Monogame view inside MvvmCross monodroid Activity

  • TabBarController 也很有趣——它有一些额外的方法

  • 在某个时候“很快”(今年上半年),我们将创建 VeeThree,这会将 MvxViewController 切换为非通用格式 - 这是因为 MonoTouch 现在建议不要在 iOS 基类上使用泛型 - Rolf 说大多数情况下它是安全的时间,但当它导致错误时,它们是“heisenbugs”。

  • 当前类 (ViewDidUnload) 中也有一些死掉的旧 iOS 代码——这些代码也将在 VeeThree 中被剔除。

于 2013-01-25T10:07:03.357 回答