我最近繼承了一個相對較小的iOS應用程序的維護。該應用程序由外部承包商創建,幾乎沒有任何指導和監督。不用說,它需要「一點點」清潔 - 我正在評估是否重做整個事情。用'懸掛UIViews'來調試iOS應用程序有什麼好的策略?
讓我難堪的一件事是應用程序崩潰,調試器顯示「應用程序在應用程序啓動結束時應該有一個根視圖控制器」。在發生這種情況的模塊中,我研究了所有的UIViews,以確保它們是用父級創建的(addSubView設置了根視圖控制器,對嗎?) - 這看起來似乎是完全正確的。
作爲XCode的新手,我不熟悉那些能幫助我弄清楚可能會發生什麼的設施。例如,我如何快速查看/調查由模塊創建的所有UIViews的狀態?我怎樣才能'看'一個變量只是在它發生變化時被提醒?總而言之,是否有最好的策略來解決上述問題?
對不起留有點模糊,但我不認爲發佈一堆醜陋的代碼可以幫助你理解:-)
稍微擴展一下:在iOS 4之前,您只是將您的根控制器添加到窗口並忘記了它。從4開始,你打算明確設置'rootViewController'屬性。或者您的合同工作發生在前一段時間,或者您的合同工非常魯莽地忽略API更改並忽略運行時警告。 – Tommy
@Tommy通過在appDelegate中設置window.rootViewController,我能夠很快解決問題。是的,'魯莽'似乎是他們在做什麼的合適名詞---( – Yohst
@Tim,感謝您的回答,我曾希望XCode有比NSLog更好的東西,但這個小功能是多功能的,看起來XCode的調試功能需要有點更新,好吧,現在我知道不要去尋找更好的東西了...... – Yohst