与NSDictionary
有点问题并进行排序。我已阅读了几篇有关使用某些方法的文章,如sortedArrayUsingSelector
和keysSortedByValueUsingComparator
,但无法完全理解。目前我有一个表格视图控制器正确显示一些数据。我唯一的问题是它显示它的顺序(或更确切地说,这些部分的顺序)。用键存储数组的最佳方法,并按条目顺序对它们进行排序
在声明文件:
@interface SettingsTableViewController : UITableViewController {
NSDictionary *tableContents;
NSArray *keys;
}
@property (nonatomic,retain) NSDictionary *data;
@property (nonatomic,retain) NSArray *keys;
@end
而实现文件中,用于viewDidLoad
:
NSArray *arrayTemporary1 = [[NSArray alloc]initWithObjects:@"Settings 1",@"Setting 2",@"Setting 3",@"Setting 4",nil];
NSArray *arrayTemporary2 = [[NSArray alloc]initWithObjects:@"Enable Gestures",nil];
NSArray *arrayTemporary3 = [[NSArray alloc]initWithObjects:@"Instructions",@"Frequently Asked Questions",@"About",nil];
NSDictionary *temporary =[[NSDictionary alloc]initWithObjectsAndKeys:arrayTemporary1,@"Settings",arrayTemporary2,@"Application",arrayTemporary3,@"Information",nil];
self.tableContents = temporary;
self.keys = [self.tableContents allKeys];
[temporary release];
[arrayTemporary1 release];
[arrayTemporary2 release];
[arrayTemporary3 release];
个体单元中的数据被从cellForRowAtIndexPath
方法里的数组NSArray *listData =[self.tableContents objectForKey:[self.keys objectAtIndex:[indexPath section]]];
访问。
虽然这工作正常,我遇到的问题是,而不是显示在temporary
编写的顺序部分,它是这样随机。希望能得到一些指导。
我现在就试试看,谢谢哥们。 – sooper
太棒了,工作。我会尽快接受,并等待“4分钟”! – sooper