ios - 遍历对象数组并添加到数组数组

标签 ios objective-c nsmutablearray

我有一个包含电影对象的数组。这些对象存储在影片数组中。我的电影对象在下面。

Movie.h

NSString * name;
NSString * cat_name;

我想将原始数组添加到具有动态行和节的UITableView中,但发现很困难。我认为做到这一点的最好方法是拥有一个数组数组。

例如,将有一个包含所有恐怖电影的数组,一个包含所有小说的数组等。全部包含在一个数组中。我认为这将使我获得所需的最终产品。我发现很难编码。

编辑数组的内容是动态的,因此我不知道启动时其中会包含多少个对象(正在从JSON中解析)。因此,我需要动态创建适当数量的部分等。

最佳答案

NSMutableDictionary * mainDictionary = [[NSMutableDictionary alloc] init];

Movie * firstHorrorMovie = [[Movie alloc] init];
firstHorrorMovie.name = @"Psycho";
firstHorrorMovie.cat_name = @"Horror";

Movie * secondHorrorMovie = [[Movie alloc] init];
secondHorrorMovie.name = @"Paranormal Activity";
secondHorrorMovie.cat_name = @"Horror";

Movie * comedyMovie = [[Movie alloc] init];
comedyMovie.name = @"The new guy";
comedyMovie.cat_name = @"Comedy";

NSArray * horrorMovies = [NSArray arrayWithObjects:firstHorrorMovie, secondHorrorMovie, nil];
NSArray * comedyMovies = [NSArray arrayWithObjects:comedyMovie, nil];

[mainDictionary setValue:horrorMovies forKey:@"Horror"];
[mainDictionary setValue:comedyMovies forKey:@"Comedy"];

或(在您的情况下-动态)
NSMutableDictionary * anotherMainDictionary = [[NSMutableDictionary alloc] init];

NSArray * array = [NSArray arrayWithObjects:firstHorrorMovie, secondHorrorMovie, comedyMovie, nil];
for (Movie * movie in array) {
    NSMutableArray * array = [anotherMainDictionary valueForKey:movie.cat_name];
    if (array) {
        [array addObject:movie];
        [anotherMainDictionary setValue:array forKey:movie.cat_name];
    } else {
        NSMutableArray * newArray = [NSMutableArray arrayWithObject:movie];
        [anotherMainDictionary setValue:newArray forKey:movie.cat_name];
    }
}

关于ios - 遍历对象数组并添加到数组数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27356453/

相关文章:

ios - 如何清除缓存的 UITableViewCell

javascript - Ionic/Cordova - 是否有具有工作轨迹栏功能的媒体/媒体播放器插件?

ios - 选择允许外部存储时,iPhone 核心数据迁移导致二进制数据丢失

ios - ScrollView 动画不流畅(objective-C)

ios - 表格 View 单元格的外壳。 swift

iphone - 表格 View 崩溃

ios - 使用 Magical Record 获取不同实体的数量

iphone - 避免自动释放 NSMutablearray ..... iphone 应用程序

iphone - 如何在 iPhone 的可变数组中添加数字?

objective-c - 如何获取 NSPopUpButton 选中的对象?