小编PkL*_*728的帖子

MVVMCross此View如何链接到ViewModel?

我正在试图找出为什么我在运行iOS应用程序时收到有关无法找到正确的ViewModel的错误消息.

我的问题是,当我看到这个例子时,我不明白MainMenuView绑定到MainMenuViewModel的位置.

有人能为我解答这个问题吗?

谢谢,

PkL728

mvvmcross xamarin

7
推荐指数
1
解决办法
4526
查看次数

如何在错误报告工具中捕获 MVXTrace

我正在使用 MvvmCross 并尝试使用一些方法在我的报告工具中获取 MvxTrace。在这种情况下,我使用的是 Raygun。Raygun 为我提供了在我想抛出的错误消息中包含附加消息的选项,我认为我必须使用它来实现这一点。基本上我想在代码中做这样的事情:

var client = new RaygunClient();
var tags = new List<string> { "myTag" };
var customData = new Dictionary<int, string>() { {1, "**MVXTrace stuff here**"} };
client.Send(exception, tags, customData);
Run Code Online (Sandbox Code Playgroud)

我怎么能把它挂起来?当我查看 Trace 设置时,我感到很困惑。我假设我需要对我用来注入的 DebugTrace 文件做一些事情。现在它看起来像这样:

public class DebugTrace : IMvxTrace
{
    public void Trace(MvxTraceLevel level, string tag, Func<string> message)
    {
        Debug.WriteLine(tag + ":" + level + ":" + message());
    }

    public void Trace(MvxTraceLevel level, string tag, string message)
    {
        Debug.WriteLine(tag + ":" + level + ":" …
Run Code Online (Sandbox Code Playgroud)

mvvmcross xamarin raygun.io raygun

5
推荐指数
1
解决办法
781
查看次数

是否可以将通用协议传递给构造函数以在 Swift 3 中进行适当的依赖注入?

我正在尝试使用泛型在 Swift 3 中完成面向协议的编程。这还不完全支持吗?我将在下面向您展示我想做但不会编译的内容。我在这里错过了什么吗?我的目标是能够使用面向协议的编程来执行依赖注入,目的是在我的单元测试中轻松模拟这些结构。

protocol ZombieServiceProtocol {

    func fetchZombies()
    var zombieRepository: RepositoryProtocol<Zombie> { get set }
}

struct ZombieService: ZombieServiceProtocol {

    var zombieRepository: RepositoryProtocol<Zombie>

    init(zombieRepository: RepositoryProtocol<Zombie>) {
        self.zombieRepository = zombieRepository
    }

    func fetchZombies() {
        self.zombieRepository.deleteAll()
        self.createFakeZombies()
    }

    private func createFakeZombies() {
        for index in 1...100 {
            let zombie = Zombie(id: index, name: "Zombie \(index)")
            self.zombieRepository.insert(zombie)
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Zombie 类如下所示:

public struct Zombie: Persistable {

    var id: Int
    let name: String?
    init(id: Int, name: String?) {
            self.id = id
            self.name …
Run Code Online (Sandbox Code Playgroud)

generics dependency-injection swift swift-protocols

5
推荐指数
1
解决办法
936
查看次数