我有设置选项,其中有一个tableview(1)将显示“Category”,并且通过选择类别将在下一个表视图中显示“Sub Category”。
我有两个独立的类别和子类别数组。在“类别”中,我有@“商业”和@“个人”(预装)和索引0的“子类别”中有关于商业的10个项目的列表以及与个人相关的索引1的10个项目的列表。
通过点击商家或个人,它会显示已保存的子类别列表,没有任何问题。 从这里,用户可以从表格视图中添加自己的类别和子类别。
例如,如果我输入一个名为@“All”的新类别,@“All”将被放入索引2
“类别”表格视图显示@“商业”@“个人”@“全部”,通过选择商业或个人,它显示所需的商品索引0(预装10件商品)的子类别商品,索引1(10)预加载的项目)用于个人和索引3(空列表)为所有(用户可以添加自己的)。
当我使用“NSSortDescriptor”作为类别数组
时 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:nil ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
[arrCategory sortUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
现在“类别”表格视图列表为@“全部”@“商务”@“个人”,因此“子类别”列表变得不匹配。对于@“商业”,我有10个项目的子类别,排序后的10个商品项目列表@“所有”类别。使用“NSSortDescriptor”后类别项的索引路径发生变化,因此子类别变得不匹配。
如何在为类别使用“NSSortDescriptor”后更改与“类别”匹配的“子类别”(项目)索引?
答案 0 :(得分:1)
您应该创建模型并使用公共数据源
@interface CategoryModel : NSObject
@property (nonatomic,retain) NSString *name;
@property (nonatomic,retain) NSMutableArray *subCategories; //should contain subCategory class objects
/* all other properties */
@end
@interface subCategory : NSObject
@property (nonatomic,retain) NSString *name;
/* all other properties */
@end