我正在开发一个基于GIS的应用程序,我已经为用户组织数据以搜索不同的类别。我已将它们安排在一个简单的UITableView.Now中,每个类别都有一个相应的ID字符串(fe:category Hospitals有一个ID:f556682-de5tgh4dde-ff478)。我制作了两个数组:一个保存类别,一个保存ID字符串。我认为ID字符串与每个类别的关联必须通过NSMutableDictionary完成,但不知道如何操作以及如何创建每次用户选择确定行数时动态创建的字符串,并且所选单元格的ID字符串串联的结果?我需要将这个字符串传递给服务器,该服务器依赖于字符串创建的KML文件。(我之所以需要它。)这是我迄今为止所做的代码:
NSDictionary *dictionary = [gisCategoryID objectAtIndex:indexPath.row];//gisCategoryID is an array that holds the ID strings
NSLog(@"ID %@", [dictionary objectForKey: @"ID");
NSLog(@"Name %@", [dictionary objectForKey: @"Name");
NSMutableString *categString = [[[NSMutableString alloc] init] autorelease];
for (NSMutableDictionary *categInfo in dictionary)
[categString appendFormat: @"%@&", [categInfo objectForKey:@"ID"]];
我怀疑这是正确的方法,因为每次我选择一行时,应用程序都会崩溃。
答案 0 :(得分:1)
// create a new mutable dictionary from two NSArrays which hold NSStrings: iDArray and categoryArray
// these arrays already exist and contain NSStrings and have the same number of items.
NSMutableDictionary * myDictionary = [[NSMutableDictionary alloc] initWithCapacity:25];
int i = 0;
for (i = 0; i < [iDArray count]; i++) {
[myDictionary addObject:[categoryArray objectAtIndex:i] forKey:[iDArray objectAtIndex:i]];
}
答案 1 :(得分:0)
你说你想要连接字符串,但你需要使用一个字典,它将一个键字串与它们相关联?无论如何,使用indexPathsForSelectedRows将所选单元格作为数组返回,这样您就可以找到哪些单元格。要动态创建字符串,您可以执行以下操作:
NSString * concatString = @"";
for (NSString* onestr in myArrayofString) {
concatString = [NSString stringWithFormat:@"%@%@",concatString, onestr];
}