Iphone 循环NSDictionary以创建NSArray
我有以下NSDictionary数据:Iphone 循环NSDictionary以创建NSArray,iphone,ios,nsarray,nsdictionary,Iphone,Ios,Nsarray,Nsdictionary,我有以下NSDictionary数据: { "ADDED_DATE" = "2011-02-04 00:56:44.732014"; "ADDED_LOGON" = ABCD; "AGENT_BROKER_IND" = N; "ALLOCATION_IND" = AUTOPROP; "BILLPRINT_DLVY_IND" = PAPER; "BILLPRINT_LOCATION_NAME" = "COMPANY ABC"; "BILLPR
{
"ADDED_DATE" = "2011-02-04 00:56:44.732014";
"ADDED_LOGON" = ABCD;
"AGENT_BROKER_IND" = N;
"ALLOCATION_IND" = AUTOPROP;
"BILLPRINT_DLVY_IND" = PAPER;
"BILLPRINT_LOCATION_NAME" = "COMPANY ABC";
"BILLPRINT_LVL_CIM" = 05852015;
"BILL_DUE_DT" = "2011-02-01";
"BILL_LOGO_CD" = XXLOGO;
"BILL_PERIOD_MONTH" = 02;
"BILL_PER_BEG_DT" = "2011-02-01";
"BILL_PER_END_DT" = "2011-02-28";
"BILL_RUN_DT" = "2011-02-03";
"BILL_TOTAL_PREMIUM" = "342.84";
IDX = ".000339709222474931";
"LIST_BILL_CASE_NUM" = 0318T4;
"LIST_BILL_CIM" = 05852019;
"OWNING_CARRIER" = WX;
"PAST_DUE_DT" = "2011-03-04";
"REMIT_CYCLE" = MONTHLY;
"RUN_NUMBER" = 1;
"TOTAL_ADJUSTMENTS" = "0.00";
"TOTAL_AMOUNT_DUE" = "685.68";
"TOTAL_CURRENT_CHARGES" = "342.84";
"TOTAL_PASTDUE_AMOUNT" = "342.84";
},
{
"ADDED_DATE" = "2010-12-04 08:20:45.292516";
"AGENT_BROKER_IND" = N;
"ALLOCATION_IND" = AUTOPROP;
"BILLPRINT_DLVY_IND" = WEBPORTAL;
"BILLPRINT_LOCATION_NAME" = "ANCHOR ABC";
"BILLPRINT_LVL_CIM" = 05721991;
"BILL_DUE_DT" = "2010-12-15";
"BILL_FORM_TYPE_CD" = FE4;
"BILL_LOGO_CD" = XXLOGO;
"BILL_PERIOD_MONTH" = 01;
"BILL_PER_BEG_DT" = "2011-01-01";
"BILL_PER_END_DT" = "2011-01-31";
"BILL_RUN_DT" = "2010-12-03";
"BILL_TOTAL_PREMIUM" = "277.96";
IDX = ".000389371998789428";
"LIST_BILL_CASE_NUM" = 9858Q8;
"LIST_BILL_CIM" = 05721991;
"OWNING_CARRIER" = FE;
"PAST_DUE_DT" = "2010-12-31";
"REMIT_CYCLE" = MONTHLY;
"RUN_NUMBER" = 1;
"TOTAL_ADJUSTMENTS" = "0.00";
"TOTAL_AMOUNT_DUE" = "277.96";
"TOTAL_CURRENT_CHARGES" = "277.96";
"TOTAL_PASTDUE_AMOUNT" = "0.00";
},
我试图弄清楚如何将这些数据转换成数组。在这个例子中,我需要将它分解为2个数组,这些数组中填充了它的数据(希望有意义)
我可以这样循环浏览数据:
NSString *key;
for (key in finalDict) {
NSLog(@"%@", key);
}
NSDictionary *currentDictionary = [self.myArrayOfDictionaries objectAtIndex:indexPath.row];
//now do some stuff with your dictionary
cell.addedDate.text = [currentDictionary objectForKey:@"ADDED_DATE"];
cell.agentBrokerInd.text = [currentDictionary objectForKey:@"AGENT_BROKER_IND"];
///etc.....
我在“键”中得到每个“数组”的数据。。。但是我如何将它分解成它自己的数组呢?抱歉,我弄糊涂了。=)
谢谢你的帮助 将
键
设为NSArray
类型,而不是NSString
。然后,您可以访问该数组的元素,将它们添加到另一个数组中,或者执行任何其他操作。是NSArray
文档。因此,从您的代码来看,您似乎有一个NSArray的nsdictionary。如果您确实想将所有数据加载到UITableView中,我建议您在cellForRowAtIndexPath方法中创建一个NSDictionary,并使用当前索引NSDictionary加载它,如下所示:
NSString *key;
for (key in finalDict) {
NSLog(@"%@", key);
}
NSDictionary *currentDictionary = [self.myArrayOfDictionaries objectAtIndex:indexPath.row];
//now do some stuff with your dictionary
cell.addedDate.text = [currentDictionary objectForKey:@"ADDED_DATE"];
cell.agentBrokerInd.text = [currentDictionary objectForKey:@"AGENT_BROKER_IND"];
///etc.....
当然,这取决于如何设置UITableViewCell,以及是否希望每个属性都有输出
希望这能有所帮助。你想完成什么。另外,如果你想要单个数组,你想要一个数组数组还是每个数组都有自己的数组?我正在尝试获取这些数据。。。并在UITableView中使用它。每个“数组”的数据都是它自己的行。我想最好是有一个数组,但我对这方面很新(但学习速度很快),所以在UITableView上使用哪一个最好。非常感谢你的帮助!那么字典中的每个条目都是一个TableView单元格吗?换言之,每个单元格将包含一个“添加的日期”、“代理、经纪人”等?啊。。。非常感谢。不知道为什么我没想到。现在来看看如何将其安装到正确的阵列中。很漂亮!!非常感谢!我真的很感激。成功了!