我有一個iPhone應用程序可以找到附近的咖啡店,然後在ShopViewController中顯示詳細信息(地址,開放時間,WiFi可用性)。我在該項目中創建了其他幾個目標(例如超市,餐館),並且每個目標在ShopViewController中顯示的信息都略有不同。在超市裏,我想要展示酒精是否有售。在餐廳,我想顯示最後的訂單時間,等等。如何爲每個目標創建一個單獨的NIB?
我目前的解決方案不易維護。我有一個共享的NIB,每個事件都有大量的UILabel
。儘管咖啡店沒有「最後訂單」信息,但我使用了與「最後訂單」UILabel
相同的NIB。我所有的目標都使用「標題」標籤,但只有一個使用「酒精」標籤。我只在需要的地方使用標籤。 UILabel
都設置爲空字符串,當我佈置視圖時,我忽略空標籤。但是有4個目標,很難跟蹤。
我ShopViewController有一些共享功能,所以我猜我應該製作子類,如CoffeeShopViewController,它從ShopViewController繼承。然後,我會使用#ifdef
爲當前目標加載正確的NIB。然後我只能在每個目標中包含相關的子類。
這是最好的解決方案,還是有更好的方法來處理這個問題?