我需要你的建议来解决这个问题:
我正在解析XML文件并将结果放在我放入NSMutableArray的NSMutableDictionarys中:
带有Dictionarys的NSMutableArray如下所示:
Res: (
{
adresse = "Wielandg 36";
email = "office@tierarzt-riegelnegg.at";
latitude = "47.063065712289";
longitude = "15.439759954196";
ordiname = "Kleintierpraxis Jakomini Dipl Tzt Riegelnegg Gerfried";
ort = Graz;
plz = 8010;
tel = "+43316830438";
tierarztid = 3;
web = "http://www.tierarzt-riegelnegg.at";
},
{
adresse = "Rechbauerstr 3";
email = "glantschnig@kleintierambulatorium.at";
fax = "+43316321156";
latitude = "47.070320493663";
longitude = "15.448505434137";
ordiname = "KLEINTIERAMBULATORIUM - Dr. Simon Glantschnig";
ort = Graz;
plz = 8010;
tel = "+43316321156";
tierarztid = 2;
web = "http://www.kleintierambulatorium.at";
},
{
adresse = "Humboldtstr 7";
latitude = "47.079379100630";
longitude = "15.440064023548";
ordiname = "Bernhart Barbara Dr";
ort = Graz;
plz = 8010;
tel = "+43316684912";
tierarztid = 4;
}
这部分工作得很好!现在我将“ordiname”放在UITableView中,当用户点击名称时,我打开一个“DetailView”,我想在UITableView或CustomCells中显示字典的结果 - NSLog这个工作正常 - 我可以看到DetailView中的整个选定字典。必须动态地在TableView或CustomCells中进行演示,因为并非所有可能的条目都必须填充(例如:传真不是必需的)。
我怎样才能做到这一点? NSMutableDictionary的顺序始终相同......
感谢您提供任何帮助和建议!
BR,
的Stefan
答案 0 :(得分:0)
您只需要让DetailView采用UITableViewDataSource协议并添加以下方法,
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [myDictionary count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *name = [[myDictionary allKeys] objectAtIndex: indexPath.row];
NSString *value = [myDictionary objectForKey:name];
UITableViewCell *cell = [table dequeReusableCellWithItentifier:@"MyCell"];
if(!cell) {
//create cell
}
//set the name and value
cell.textLabel.text = [NSString stringWithFormat:@"%@:%@", name, value];
return cell;
}