我正在返回一个JSON数组: 数组2:({“checkin_ID”= 123},{“checkin_ID”= 121;},{“checkin_ID”= 99;}等)
在我的代码中,每个单元格都有自己的checkin_ID。如果单元格的checkin_ID与我的JSON数组中的任何数字或字符串匹配,我想显示一个按钮。
有什么想法吗?
代码:
viewDidLoad中:
NSError *error = nil; NSDictionary *dict2 = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData2 error&error2];
if (dict2) {
rows2 = [dict2 objectForKey:@"likes"];
}
细胞构建:
NSPredicate *checkinIDPredicate = [NSPredicate predicateWithFormat:@"checkin_ID == %d", myInt];
NSArray *matchingCheckins = [rows2 filteredArrayUsingPredicate:checkinIDPredicate];
if([matchingCheckins count] > 0) // Show the button, etc.
在添加代码后的NSLog
中...谓词checkin_ID = 121匹配谓词()
答案 0 :(得分:0)
首先,将您的数据解析为一个字典数组,将其存储在属性中供以后使用。
NSError *error = nil;
self.checkins = [NSJSONSerialization JSONObjectWithData:checkinData options:0 error:&error];
checkinData
是一个NSData
对象,可以通过JSON字符串轻松创建。
在构建行的单元格时,按目标ID过滤签入列表:
NSPredicate *checkinIDPredicate = [NSPredicate predicateWithFormat:@"checkin_ID == %d", cellCheckinID];
NSArray *matchingCheckins = [self.checkins filteredArrayUsingPredicate:checkinIDPredicate];
if([matchingCheckins count] > 0)
// Show the button, etc.
此代码尚未经过测试,因此可能包含编译器或逻辑错误,但这是它的要点。