Nano Hash - криптовалюты, майнинг, программирование

NSMutableArray из NSMutableDictionary не показывает данные

Я создал метод класса, но он не показывает данные.

Он показывает нулевое значение в консоли, когда я делаю:

NSLog(@"full and array data :- %@",[array ObjectAtIndex:0]);

«Словарь» (это объект NSMutableDictionary) показывает данные, но когда я добавил этот объект в «массив» (это объект NSMutableArray), используя это:

[array addObject:dict];

после этой строки, когда я печатаю значение (используя NSLog(@"array data :- %@",[array objectAtIndex:0] );) массива, оно показывает мне «нулевое» значение.

+(NSMutableArray *)showAllDetail:(NSString *)query{    
    sqlite3 *stmnt;
    NSMutableArray *array;
    NSString *databasepath=[database getDatabasePath];
    if (sqlite3_open([databasepath UTF8String], &stmnt)) {
        NSLog(@"database not open......");
    }
    else{

        const char *queryStmt=[query UTF8String];
        sqlite3_stmt *stmt;

        if (sqlite3_prepare_v2(stmnt, queryStmt, -1, &stmt, NULL) == SQLITE_OK) {
            while (sqlite3_step(stmt)==SQLITE_ROW) {
                 NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
                const char *text;


                text=(char *)sqlite3_column_text(stmt,1);
                //NSLog(@"text :- %s",text);
                if (text!=NULL) {
                    [dictionary setObject:[NSString stringWithUTF8String:text] forKey:@"id"];

                 //NSLog(@"dictionary with id : - %@",dictionary);
                }

                text=(char *)sqlite3_column_text(stmt,2);
                if (text!=NULL) {
                    [dictionary setObject:[NSString stringWithUTF8String:text] forKey:@"name"];
                    // NSLog(@"dictionary with name : - %@",dictionary);
                }

                text=(char *)sqlite3_column_text(stmt,3);
                if (text!=NULL) {
                    [dictionary setObject:[NSString stringWithUTF8String:text] forKey:@"dob"];
                    // NSLog(@"dictionary with dob: - %@",dictionary);
                }


                NSLog(@"in the dic :- %s",text);
                 NSLog(@"dictionary data :- %@",dictionary);
              //------------------------------------------------ 
              //---------this show the result data dictionary --
              //------------------------------------------------ 
                [array addObject:dict];
                NSLog(@"array data :- %@",[array objectAtIndex:0] );
              //------------------------------------------------------------ 
              //---------this show the result :- "full and array data :- null"
              //---------------------------------------------------------------
               dict=nil;
            }
        }
        sqlite3_finalize(stmt);
        if ([array count]>0) {
            return array ;
        }
        else
            return nil;
    }

    return nil;
}

Мой вывод: -

2013-10-29 17:30:32.644 myCRUD[1231:a0b] dictionary data :- {
    id = 1;
    name = naresh;
    dob = "10/10/1990";

     } 
2013-10-29 17:30:32.645 myCRUD[1231:a0b] array data :- (null)

Ответы:


1

Вы забыли создать массив

NSMutableArray *array = [NSMutableArray array];
29.10.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..