簡體   English   中英

在NSArray中的NSDictionary中對NSDates進行排序?

[英]Sort NSDates inside NSDictionary inside NSArray?

當前在我的應用程序中,我有一個從NSUserDefaults加載的NSArray。 NSArray中的每個對象都是一個NSDictionary,具有大約5個不同的鍵。 我根據其中的NSDate重新排序NSDictionary 我不想單獨對NSDates進行排序。

我嘗試使用以下代碼執行此操作:

NSComparator sortByDate = ^(id dict1, id dict2) {
        NSDate* n1 = [dict1 objectForKey:@"Date"];
        NSDate* n2 = [dict2 objectForKey:@"Date"];
        return (NSComparisonResult)[n1 compare:n2];
    };
    [self.cellArray sortUsingComparator:sortByDate];

盡管即使執行了代碼也沒有任何反應。 我對如何根據NSDictionary中的內容重新排序感到困惑。

誰能對此提供任何見解?

謝謝!

您可以嘗試以內聯方式對其進行排序,但是我懷疑這會產生重大影響。 但是我可以說我永遠不會抽象出我的障礙。 我也肯定會嘗試使用NSLogging來確保您獲得有效的NSDate。

    [cells sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        NSDate *n1 = [obj1 objectForKey:@"Date"];
        NSDate *n2 = [obj2 objectForKey:@"Date"];

        if (n1 > n2) {
            return NSOrderedAscending;
        } else (n1 < n2) {
            return NSOrderedDescending;
        } else {
            return NSOrderedSame;
        }

    }];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM