Передача списка массивов из одного метода в классе в другой метод - PullRequest
0 голосов
/ 19 марта 2011

В tableview.m есть функция, которая возвращает мне дату начала, и я добавляю строки в массив. Теперь я хочу передать этот массив другому методу в другом классе .m с именем listview.m, чтобы извлечь значение из массива nsstring. Как я должен идти об этом? Любая помощь очень ценится.

- (id) getDate: (NSMutableArray *) classStart{

if ([self init]) {
    if (sqlite3_open([dbPath UTF8String], &db) == SQLITE_OK) {
    self.listArray = [[[NSMutableArray alloc] init] autorelease];
        const char *query_stmt = "select start_Date from test order by start_Date";

        if (sqlite3_prepare_v2(db, query_stmt, -1, &statement, NULL) == SQLITE_OK)
        {
            while(sqlite3_step(statement) == SQLITE_ROW)
            {
                start_Date = [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement,0)];
                [self.listArray addObject:start_Date];

            }

            sqlite3_finalize(statement);

            sqlite3_close(db);
            } 
    }
}
return self;
}

Ответы [ 2 ]

1 голос
/ 19 марта 2011

Я не думаю, что в этом есть какая-то магия, просто определите метод в listview.m, который будет принимать массив в качестве входных данных.

Ваше определение в listview.h может выглядеть так:

-(void)addListArray:(NSArray *)theArray;

Тогда из вашего класса выше вы бы назвали его следующим образом:

[myListView addListArray:self.listArray];
0 голосов
/ 19 марта 2011

Разобрался: просто изменил заголовок функции на

- (NSMutableArray *) getDate {
 return array;
 }

И вызовите метод как array_two = [ListView getDate]; в другом классе.

Оба массива являются nsmutablearrays.

...