Obj-C, нужно создать объект для хранения строк / чисел, а затем обновить с расчетами? - PullRequest
2 голосов
/ 19 января 2011

Мне нужно создать массив или словарь для хранения строки и значения, я создаю круговую диаграмму.Мне нужно пройтись по строкам из моего запроса к базе данных и добавить строку и цену к объекту.

Затем мне нужно сложить общую стоимость всех предметов и изменить значение в объектах, чтобы онименьше 1.

Я не очень хорошо объясняю это ...

Это то, что я заменяю динамическими данными.

BNPieChart* chart = [[BNPieChart alloc] initWithFrame:myImageRect];
[chart addSlicePortion:0.1 withName:@"Orange 10%"];
[chart addSlicePortion:0.2 withName:@"Fandango 10%"];
[chart addSlicePortion:0.1 withName:@"Blue 10%"];
[chart addSlicePortion:0.1 withName:@"Cerulean 10%"];
[chart addSlicePortion:0.3 withName:@"Green 10%"];
[chart addSlicePortion:0.1 withName:@"Yellow 10%"];
[chart addSlicePortion:0.1 withName:@"Pink 10%"];

Обратите внимание, чтокогда вы добавляете значения срезов, они составляют 1.

Я пытался использовать словарь, но цена, похоже, не подходит как значение или ключ.

NSMutableDictionary *dictData = [[[NSMutableDictionary alloc] init] autorelease];

if(error_code == SQLITE_OK) {

    while(sqlite3_step(statementTMP) == SQLITE_ROW)
    {
        // HERE you need to put the data into an array so you can 
        // perform calculations on it after the array is filled

        // get price and category string

        [dictData setObject:accumPrice forKey:category];
        i ++;
    }
}

Предложения?

1 Ответ

0 голосов
/ 19 января 2011

Вам нужно будет использовать NSNumber для хранения int, float, double и т. Д. Внутри словаря.

NSMutableDictionary *dictData = [[[NSMutableDictionary alloc] init] autorelease];

if(error_code == SQLITE_OK) {

    while(sqlite3_step(statementTMP) == SQLITE_ROW)
    {
        // HERE you need to put the data into an array so you can 
        // perform calculations on it after the array is filled

        // get price and category string

        [dictData setObject:[NSNumber numberWithFloat:accumPrice] forKey:category];
        i ++;
    }
}

NSNumber Class Reference

...