UITableview列出项目问题

时间:2015-04-22 11:02:06

标签: ios objective-c iphone uitableview didselectrowatindexpath

我有设置选项,其中有一个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”后更改与“类别”匹配的“子类别”(项目)索引?

1 个答案:

答案 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