循环遍历 NSDictionary 以创建 NSArray



我有以下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";
    "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);
}

我在"键"中获取每个数据"数组"......但是我如何从那里将其分解为自己的数组? 对不起,如果我感到困惑。 =)

感谢您的任何帮助!

所以,在我看来,从你的代码来看,你有一个 NSDictionaries 的 NSArray。如果你真的想把所有数据加载到UITableView中,我建议在你的cellForRowAtIndexPath方法中,创建一个NSDictionary,并使用当前的索引NSDictionary加载它,如下所示:

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以及是否要为每个属性设置插座。

希望这有帮助。

使key成为NSArray类型而不是NSString。然后,您可以访问数组的元素,将它们添加到另一个数组或您想要执行的任何其他操作。这是NSArray文档。

最新更新