在我的应用中,用户可以创建群组。当用户创建一个组时,会在dropbox上上传一个新文件夹,里面有一个JSON文件,如下所示:
{"group":"0864798478"}
您看到的代码是以下列方式随机生成的:
NSString *randomKey = [NSString stringWithFormat:@"%0.10u", arc4random()];
然后我有一个显示所有文件夹(组)的表视图。但是我希望UITableView只显示带有iPad保存代码的组。
所以,如果我有:
{"group a":"0864797073"}
{"group b":"0764898478"}
{"group c":"2864758479"}
在iPad上有一个包含代码的文件:
0864797073 (group a)
表格视图仅显示该组,而不是全部。
我该怎么做?
提前感谢您的帮助!!
答案 0 :(得分:0)
您可以使用JSONKit或SBJson来解析JSON文件并获取带有数据的NSDictionaries。然后你可以创建一个NSDictionary,你可以保存比较以前字典的结果,然后用方法tableView:cellForRowAtIndexPath在表中显示结果。或者,在方法tableView中进行比较:cellForRowAtIndexPath。祝你好运!
编辑:
如果文件为:
{"group a":"0864797073"}
你解析它并获得一个字典,如“group a”将是KEY,NSString“0864797073”将是值。因此,要比较包含组a的词典,其中包含组b,您必须这样做:
if([[firstParsedJson objectForKey:@"group a"] isEqualToString:[secondParsedJson objectForKey:@"group b"]])
{
//Do some stuff...
}
其中firstParsedJson和secondParsedJason是表示已解析的json的NSDictionaries,例如SBJson。
答案 1 :(得分:0)
正如Luis所提到的,SBJson是最容易使用Objective-C解析JSON的框架。您可以解析JSON并通过UITableView的CellForRowAtIndexPath委托方法来显示所有值。 如果您在使用JSON时遇到任何麻烦,那么link将帮助您更好地了解JSON的创建方式。