2012-02-23 87 views
3

我正在做我的第一個帶Monotouch的iOS應用程序,並且我從我的資源目錄中加載了很多圖像。我偶爾會得到一個文件名錯誤,然後這個應用程序就會崩潰,並噴出一些無法理解的錯誤信息。 (我會嘗試在現在的任何一天加入解密堆棧跟蹤到我的技能集......)在編譯時捕獲資源文件名錯誤

我在想,必須有一個更聰明的方法來處理這個問題。例如,可以有一個實用程序腳本,它通過資源目錄並根據其內容構建全局常量列表。資源中的每個文件都會獲得一個條目。

因此,MyResources/Icons/HomeIcon.png將由常量MyResources.Icons.HomeIcon_png表示。然後可以有像Inotify這樣的東西(不知道Mac上會有什麼)觀察資源目錄並在每次更改時重新生成常量文件。

這當然也會給資源提供很好的自動完成。

也許有這樣的事情已經在Monodevelop或在線的地方?否則,我將如何去設置它?

或者也許有其他一些減輕問題的巧妙方法?

回答

1

您的主要問題是資源名稱中的拼寫錯誤沒有及時發現,並且只會在應用程序實際運行時導致崩潰。

您提出的基於可用資源生成的全局常量列表的解決方案有點簡潔,但據我所知這還不存在。與此同時,您可以手動構建這個全局常量列表,並創建一個單元測試,驗證此列表中的所有元素都是有效資源(通過自動循環遍歷它們,當然 - 將資源添加到列表不應該要求更改測試)。

通過這種方式,您可以更早地(當您運行單元測試而不是運行應用程序時)發現拼寫錯誤,這是您最關心的問題。此外,如果您發現/編寫您設想的腳本,您的應用程序代碼已經準備就緒。