【发布时间】:2011-09-17 22:27:26
【问题描述】:
我有许多不同的数组,其中包含数据模型类中的酒店字典。例如,数组madridHotels 将保存马德里酒店的字典。为了在表格视图中列出这些酒店,我在 dataModel 类中使用了一个名为 madridHotelsCount 的方法:
-(int)madridHotelsCount {
return self.madridHotels.count;
}
在 tableview 的 numberOfRowsInSection 方法中,我会放
- (NSInteger)tableView:(UITableView*)theTableView numberOfRowsInSection:(NSInteger)section {
return [self.dataModel madridHotelsCount];
}
为了列出马德里的酒店。这工作得很好。但是因为我有大约 20 个城市,我觉得有 20 个不同的 VC 和 XIB 来制作基于城市的 tableview 显然是愚蠢和浪费的。
在我的“选择城市”表格视图中,每个城市都有一个名为 cityString 的键,其中包含用于“X 市酒店”表格视图的相应字符串。例如,在马德里的情况下,字符串是madridHotelsCount。如果我没记错的话,有一种方法可以在推送“X 市酒店”tableview 控制器时使用此信息。
我不知道如何在 tableview 方法中更改字符串 madridHotelsCount,例如,barcelonaHotelsCount 取决于“选择城市”tableview 中的一个键,以便我只能使用一个 VC和 XIB。
希望这是有道理的......
【问题讨论】:
-
dataModel是否包含每个酒店的数组?如果是这样,您可能希望更好地构建该类? -
是的。在
dataModel中,我有一个包含所有酒店的数组,名为hotels。然后,我有 20 个不同的数组,其中包含不同城市的酒店(它们是酒店数组的副本,根据城市过滤)。我认为这种结构非常合理,但欢迎任何其他方法! -
这听起来非常不可扩展,每次添加新城市时都需要添加新的 ivar。使用
NSDictionary,键是城市,值是酒店的NSArray -
谢谢,Paul.s。您能否进一步扩展您的方法?
标签: iphone objective-c xcode