Array von Objekten nach Datum in TableView sortieren

Ich habe diese Antwort für @ verwendesort 2 Objekte nach Datum und es perfekt gearbeitet: Get one NSArray

Ich muss jetztsort 3 Objekte nach Datum undkippe ganz ändern, was ich zu @ habget that right.

Alle Artikel aus den API / RSS-Feeds werden nach Datum in 1 @ sortiertableView.

Hier ist, was ich versucht habe:

- (void)sortCombinedModel {
    // All 3
    [self.combinedModel sortUsingComparator:^NSComparisonResult(id a, id b, id c) {
        NSDate *dateA, *dateB, *dateC;
        dateA = ([a isKindOfClass:[FeedRSS self]])? ((FeedRSS *)a).pubDate : ((Data *)a).created_time : ((YaRSS *)a).pubDate;
        dateB = ([b isKindOfClass:[FeedRSS self]])? ((FeedRSS *)b).pubDate : ((Data *)b).created_time : ((YaRSS *)b).pubDate;
        dateC = ([c isKindOfClass:[FeedRSS self]])? ((FeedRSS *)c).pubDate : ((Data *)c).created_time : ((YaRSS *)c).pubDate;
        return [dateB compare:dateA compare:dateC];
    }];   
}

annst du mir helfen, die 3 Daten zu sortiere

Weitere Informationen bei Bedarf:

Ich habe herausgefunden, wie ich diesen Teil modifizieren kann - Es kommen 3 API / RSS-Feeds zu einemNSMutableArray:

- (void)loadMedia {
    self.combinedModel = [NSMutableArray array];
    // Here's the #1
    [self loadOneWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

        [self.combinedModel addObjectsFromArray:mappingResult.array];

    // Here's the trick.  call API2 here.  Doing so will serialize these two requests
    [self loadTwoWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

        [self.combinedModel addObjectsFromArray:mappingResult.array];

    // Here's the trick.  call API3 here.  Doing so will serialize these two requests
    [self loadThreeWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

        [self.combinedModel addObjectsFromArray:mappingResult.array];

        [self sortCombinedModel];

        [self.tableView reloadData];

    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        NSLog(@"No?: %@", error);
    }];

    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
            NSLog(@"No?: %@", error);
    }];

    } failure:^(RKObjectRequestOperation *operation, NSError *error) {
        NSLog(@"No?: %@", error);
    }];
}

So sah das Sortieren von 2 Daten früher aus:

- (void)sortCombinedModel {
    [self.combinedModel sortUsingComparator:^NSComparisonResult(id a, id b) {
        NSDate *dateA, *dateB;
        dateA = ([a isKindOfClass:[Feed self]])? ((Feed *)a).published : ((Data *)a).created_time;
        dateB = ([b isKindOfClass:[Feed self]])? ((Feed *)b).published : ((Data *)b).created_time;
        return [dateA compare:dateB];
    }];
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage