我正在对 TableView 单元格进行排序,但由于某种原因它不起作用。我对完全相同的代码和完全相同的 PLIST 进行了早期修订,但我可以发誓它可以工作几个月。现在它拒绝排序。
numberOfRowsInSection 方法内的排序代码:
NSString *date = [self.months objectAtIndex:sectionNumber];
NSDictionary *monthData = [self.sportDictionary objectForKey:date];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey: nil ascending: YES];
NSArray *days = (NSArray *)[[monthData allKeys]sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor2]];
for(int x = 0; x < [days count]; x++)
{
NSLog(@"Day: %@", [days objectAtIndex:x]);
}
当我查看 NSLog 的输出时,它是不对的。获得 15、22、29、3、8
它正在排序的 PList 部分如下所示:
<dict>
<key>1 September 2012</key>
<dict>
<key>3</key>
<array>
<string>Georgia Tech (Orange Effect)</string>
<string>8:00 PM </string>
<string>Home</string>
</array>
<key>8</key>
<array>
<string>Austin Peay (White Effect)</string>
<string>1:30 PM</string>
<string>Home</string>
</array>
<key>15</key>
<array>
<string>Pittsburgh (White Effect)</string>
<string>12:00 PM</string>
<string>Away</string>
</array>
<key>22</key>
<array>
<string>Bowling Green</string>
<string>TBA</string>
<string>Home</string>
</array>
<key>29</key>
<array>
<string>Cincinnati</string>
<string>TBA</string>
<string>Away</string>
</array>
</dict>
谢谢您,非常感谢您的帮助!
最佳答案
最好的办法是获取您已经拥有的 NSDates,将日期组件提取为 NSNumbers 或整数,然后排序并继续使用您已经拥有的内容。 Here可以帮助您提取 NSDate 的日期部分。
关于objective-c - NSSortDescriptor 无法组织 TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11370632/