2

クロスプラットフォーム開発のソリューションとして MvvmCross を使用することを検討しており、以前の開発は iOS のみを対象としていました。絵コンテがすべてのビューをまとめて、それらの間の流れを取り囲む方法が本当に好きになりました。

Monotouch は、私が使用できるストーリーボード プロジェクトでの使用をサポートしていることは知っていますが、MvvmCross で使用している参照/例を見つけることができませんでした。

これは現在サポートされていますか? または、誰かがこのセットアップを取得する方法についてのヒントを教えてくれますか? ストーリーボード プロジェクトでは、AppDelegate の FinishedLaunching メソッドは通常空であるため、開始が問題のようです。

4

1 に答える 1

1

これは現在サポートされていますか?

私はそうは思いません。

ストーリーボードを使用してデモ アプリ以外を作成したことはありません。したがって、私は専門家ではありません。

しかし、私が知っていることから、克服する必要がある 3 つの問題があると思います。

1. ストーリーボードの FinishedLaunching にコードがありません

これは簡単に解決できると思います-IoC、プラグイン、アプリなどを初期化するために MvvmCross Setup クラスを呼び出す FinishedLaunching にオーバーライドを追加するだけです.

2. MvvmCross vNext では、コンストラクターを次のようなフォームにオーバーライドする必要があります。

public DetailViewController (MvxShowViewModelRequest request) {
}

ストーリーボードでは、次のようなフォームを使用する必要があります。

public DetailViewController (IntPtr handle) {
}

これを克服するのはより困難です... しかし、良いニュースは、v3 でははるかに簡単になるはずです.v3 で述べられている目的の 1 つは、何らかの形でストーリーボードをサポートすることです. 02/mvvmcross-v3.html

3. 概念の衝突

ストーリーボードを使用している場合、ナビゲーション ロジックはストーリーボードと UIViewController に結び付けられます。

MvvmCross を使用している場合、ナビゲーション ロジックは ViewModel に関連付けられています。

これを克服することは比較的簡単です。概念を簡単に組み合わせて一致させることができますが、結果として ViewModel と View が「少し奇妙」に感じるかもしれません。


概要

今日これを行うことは可能ですが、数時間のハッキングが必要です.

v3 のベータ版は間もなくリリースされる予定です (数週間以内 - 空き時間次第です)。それが利用可能になると、はるかに迅速に開始できるようになると思います。

于 2013-02-19T07:36:19.033 に答える