цикл через NSDictionary для создания NSArray - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть следующие данные 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);
}

И я получаю каждый «массив» данных в «ключ» ... но как мне разбить его оттуда на его собственные массивы? Извините, если я запутался. =)

Спасибо за любую помощь!

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Итак, мне кажется, что у вас есть NSArray of NSDictionaries, судя по вашему коду. Если вы действительно хотите загрузить все данные в 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 и хотите ли вы иметь розетки для каждого атрибута или нет.

Надеюсь, это поможет.

1 голос
/ 21 февраля 2012

Сделать key типом NSArray вместо NSString. Затем вы можете получить доступ к элементам массива, добавив их в другой массив или что-либо еще, что вы хотите сделать. Здесь - документация NSArray.

...