我目前正在使用Xamarin和MonoTouch構建iOS和Android應用程序。在應用程序中將會有大量從JSON中加載的數據,因此我想要包含一個統一的加載器,一個在應用程序啓動時運行的對象,以檢查是否需要重新下載信息。Xamarin/Monotouch:自定義類事件
加載類已完成並且功能完整,並且具有以下我希望能夠將事件綁定到的方法。請看下圖:
- BeginLoading
- ReloadPosts
- ReloadLayers
- ReloadRunners
- FinishedLoading
這些包含了所有的自我和裝載機類我在ViewDidLoad
在啓動運行我主屏幕(MainScreen.cs)使用以下代碼:
var loader = new UnifiedLoader();
這開始檢查本地緩存,上次重新加載時間等過程,並啓動重新加載過程 - 帖子,圖層,跑步者或直接跳到FinishedLoading。
我希望能夠做的是以某種方式傾聽這些「事件」,我不知道如何去做。請看下面的例子。
var loader = new UnifiedLoader();
loader.LoadingDidBegin +=() => {
Console.Out.WriteLine("Loading started");
// Display spinner or something...
};
loader.DidReloadPosts +=() => {
Console.Out.WriteLine("Posts were reloaded");
// Update reloading percentage, show user...
};
loader.DidReloadLayers +=() => {
Console.Out.WriteLine("Layers were reloaded");
// Update reloading percentage, show user...
};
loader.DidReloadRunners +=() => {
Console.Out.WriteLine("Runners were reloaded");
// Update reloading percentage, show user...
};
loader.LoadingDidFinish +=() => {
Console.Out.WriteLine("Loading finished");
// Remove spinner, proceed...
};
截至目前,我不知道如何去實現加載類中的這些事件。我一直在搜索並瀏覽API文檔,但沒有找到任何幫助。
如果有人能幫我解決這個問題,我會感激不盡。
由於提前, 喬納森