@@ -76,8 +76,7 @@ - (instancetype) init
7676 _feeds = [self .currentUser.feeds sortedArrayByAttributes: @[@" name" ]
7777 ascending: [self nameSortDirection ]];
7878
79- _feedItems = [self .currentUser.feedItems sortedArrayByAttributes: @[@" createdAt" ]
80- ascending: [self createdAtSortDirection ]];
79+ _feedItems = [self sorted: self .currentUser.feedItems];
8180 _visibleFeedItems = _feedItems;
8281
8382 [[NSNotificationCenter defaultCenter ] addObserver: self
@@ -110,8 +109,7 @@ - (void)selectedFeedDidChange:(NSNotification *)notification
110109 [self willChangeValueForKey: @" visibleFeedItems" ];
111110
112111 if (feed) {
113- _visibleFeedItems = [feed.feedItems sortedArrayByAttributes: @[@" createdAt" ]
114- ascending: [self createdAtSortDirection ]];
112+ _visibleFeedItems = [self sorted: feed.feedItems];
115113 currentFeed = feed;
116114 } else {
117115 _visibleFeedItems = _feedItems;
@@ -166,8 +164,7 @@ - (void) userFeedsDidChange:(User *)currentUser oldFeeds:(NSSet *)oldFeeds newFe
166164 _feeds = [newFeeds sortedArrayByAttributes: @[@" name" ]
167165 ascending: [self nameSortDirection ]];
168166
169- _feedItems = [feedItems sortedArrayByAttributes: @[@" createdAt" ]
170- ascending: [self createdAtSortDirection ]];
167+ _feedItems = [self sorted: feedItems];
171168
172169 if (!currentFeed) {
173170 _visibleFeedItems = _feedItems;
@@ -203,22 +200,30 @@ - (void)observeFeedItemsForFeeds:(NSArray *)feeds {
203200 [self willChangeValueForKey: @" visibleFeedItems" ];
204201 [self willChangeValueForKey: @" feedItems" ];
205202
206- _feedItems = [self .currentUser.feedItems sortedArrayByAttributes: @[@" createdAt" ]
207- ascending: [self createdAtSortDirection ]];
203+ _feedItems = [self sorted: self .currentUser.feedItems];
208204
209205 if (!currentFeed) {
210206 _visibleFeedItems = _feedItems;
211207 } else {
212- _visibleFeedItems = [currentFeed.feedItems sortedArrayByAttributes: @[@" createdAt" ]
213- ascending: [self createdAtSortDirection ]];
208+ _visibleFeedItems = [self sorted: currentFeed.feedItems];
214209 }
215210
216211 [self didChangeValueForKey: @" feedItems" ];
217212 [self didChangeValueForKey: @" visibleFeedItems" ];
218213 };
219214}
220215
221- - (BOOL )createdAtSortDirection {
216+ - (NSArray *)sorted : (NSSet *)feedItems {
217+ return [feedItems sortedArrayByAttributes: [self feedItemSortAttributes ]
218+ ascending: [self feedItemSortDirection ]];
219+ }
220+
221+ - (NSArray *)feedItemSortAttributes
222+ {
223+ return @[@" publishedAt" , @" createdAt" ];
224+ }
225+
226+ - (BOOL )feedItemSortDirection {
222227 return NO ;
223228}
224229
0 commit comments