Как инициализировать массив в target-c - PullRequest
1 голос
/ 22 июня 2011

Очень простой вопрос:)

Я должен инициализировать массив в target-c.Я буду далее использовать это значение массива в табличном представлении.У меня есть список глав, и я написал его так, как показано ниже.

    NSArray *tableList;

tableList = [[NSArray alloc]initWithObjects:@"Chapter 1",@"Chapter 2",@"Chapter 3",@"Chapter 4",@"Chapter 5",nil];

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

 extern NSArray *wallvalue;

    for (NSDictionary *chapter in wallvalue) {
        NSString *chapterName = [person objectForKey:@"chapters"];
        if([chapterName length] >0)
        {

            NSLog(chapterName);
        }
    }

Теперь я хочу показать эти chapterName в моем списке таблиц.Как я это сделаю?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 22 июня 2011
NSMutableArray *tableList = [[NSMutableArray alloc] initWithCapacity:[wallvalue count]];
for (NSDictionary *chapter in wallvalue) {
    NSString *chapterName = [person objectForKey:@"chapters"];
    if([chapterName length] >0)
    {
        [tableList addObject:chapterName];
    }
}
0 голосов
/ 22 июня 2011

Если вы просто не делаете,

cell.textLabel.text = [[wallvalue objectAtIndex:indexPath.row] objectForKey:@"chapters"];

РЕДАКТИРОВАТЬ Если вас интересуют только те главы, которые имеют имя, то отфильтруйте все объекты, которые не имеютсобственное имя, а затем сделайте то, что указано выше,

NSArray * filteredChapters = [wallvalue filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"chapters LIKE '?*'"]];

[..]

cell.textLabel.text = [[filteredChapters objectAtIndex:indexPath.row] objectForKey:@"chapters"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...