我有一个iPhone应用程序可以找到附近的咖啡店,然后在ShopViewController中显示详细信息(地址,开放时间,WiFi可用性)。我在该项目中创建了其他几个目标(例如超市,餐馆),并且每个目标在ShopViewController中显示的信息都略有不同。在超市里,我想要展示酒精是否有售。在餐厅,我想显示最后的订单时间,等等。如何为每个目标创建一个单独的NIB?
我目前的解决方案不易维护。我有一个共享的NIB,每个事件都有大量的UILabel
。尽管咖啡店没有“最后订单”信息,但我使用了与“最后订单”UILabel
相同的NIB。我所有的目标都使用“标题”标签,但只有一个使用“酒精”标签。我只在需要的地方使用标签。 UILabel
都设置为空字符串,当我布置视图时,我忽略空标签。但是有4个目标,很难跟踪。
我ShopViewController有一些共享功能,所以我猜我应该制作子类,如CoffeeShopViewController,它从ShopViewController继承。然后,我会使用#ifdef
为当前目标加载正确的NIB。然后我只能在每个目标中包含相关的子类。
这是最好的解决方案,还是有更好的方法来处理这个问题?