NSSortDescriptor无法组织TableView

时间:2012-07-06 22:51:11

标签: objective-c ios uitableview sorting

我正在对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>

谢谢,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

最好的办法是采用您已有的NSDates,将日期组件提取为NSNumbers或整数,然后排序并继续您已有的。 Here可以帮助您提取NSDate的日期组件。