Skip to content

Commit 4b8e945

Browse files
Alfredo UribeAlfredo Uribe
authored andcommitted
altered methods to return block
1 parent 9ba8b76 commit 4b8e945

1 file changed

Lines changed: 32 additions & 27 deletions

File tree

EasyReader/Application/Controllers/Home/CSHomeViewController.m

Lines changed: 32 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
#import "CSFeedItemCell.h"
2222

23+
typedef void (^ObserverBlock)(__weak CSHomeViewController *self, NSSet *old, NSSet *new);
2324

2425
@interface CSHomeViewController ()
2526
{
@@ -76,9 +77,7 @@ - (void) setupFeedsObserver
7677
{
7778

7879
[self observeRelationship:@keypath(self.currentUser.feeds)
79-
changeBlock:^(__weak CSHomeViewController *self, NSSet *old, NSSet *new){
80-
[self feedsDidChange:old new:new];
81-
}
80+
changeBlock:[self feedsDidChange]
8281
insertionBlock:nil
8382
removalBlock:nil
8483
replacementBlock:nil
@@ -88,8 +87,9 @@ - (void) setupFeedsObserver
8887
/**
8988
* Assigns observers for feedsItems when feeds array on current user changes
9089
*/
91-
-(void) feedsDidChange:(NSSet*)old new:(NSSet*)new
90+
-(ObserverBlock) feedsDidChange
9291
{
92+
ObserverBlock block = ^void(__weak CSHomeViewController *self, NSSet *old, NSSet *new) {
9393
NSMutableArray *addedFeeds = [[new allObjects] mutableCopy];
9494
NSMutableArray *removedFeeds = [[old allObjects] mutableCopy];
9595

@@ -111,9 +111,7 @@ -(void) feedsDidChange:(NSSet*)old new:(NSSet*)new
111111

112112
for ( Feed *feed in addedFeeds ){
113113
[feed observeRelationship:@"feedItems"
114-
changeBlock:^(__weak Feed *feed, NSSet *old, NSSet *new) {
115-
[self feedItemsDidChange:old new:new];
116-
}
114+
changeBlock:[self feedItemsDidChange]
117115
insertionBlock:nil
118116
removalBlock:nil
119117
replacementBlock:nil];
@@ -130,34 +128,41 @@ -(void) feedsDidChange:(NSSet*)old new:(NSSet*)new
130128
} else {
131129
[_pageControl_itemIndicator setPageControllerPageAtIndex:0 forCollection:_feedItems];
132130
}
131+
};
132+
133+
return block;
133134
}
134135

135136
/**
136137
* Called when feedItems array on observed feeds change, shows new item button on page control
137138
*/
138-
-(void) feedItemsDidChange:(NSSet*)old new:(NSSet*)new
139+
-(ObserverBlock) feedItemsDidChange
139140
{
140-
_feedItems = [(CSFeedItemCollectionViewDataSource *)_collectionView_feedItems.dataSource feedItems];
141+
ObserverBlock block = ^void(__weak CSHomeViewController *self, NSSet *old, NSSet *new) {
142+
_feedItems = [(CSFeedItemCollectionViewDataSource *)_collectionView_feedItems.dataSource feedItems];
141143

142-
if(!new) {
143-
NSLog(@"There are no feeds here");
144-
} else {
145-
NSMutableArray *addedFeedItems = [[new allObjects] mutableCopy];
146-
NSMutableArray *removedFeedItems = [[old allObjects] mutableCopy];
147-
148-
[addedFeedItems removeObjectsInArray:[old allObjects]];
149-
[removedFeedItems removeObjectsInArray:[new allObjects]];
150-
151-
for( FeedItem *item in removedFeedItems ){
152-
[_feedItems removeObject:item];
153-
}
154-
155-
for( FeedItem *item in addedFeedItems ){
156-
[_feedItems addObject:item];
144+
if(!new) {
145+
NSLog(@"There are no feeds here");
146+
} else {
147+
NSMutableArray *addedFeedItems = [[new allObjects] mutableCopy];
148+
NSMutableArray *removedFeedItems = [[old allObjects] mutableCopy];
149+
150+
[addedFeedItems removeObjectsInArray:[old allObjects]];
151+
[removedFeedItems removeObjectsInArray:[new allObjects]];
152+
153+
for( FeedItem *item in removedFeedItems ){
154+
[_feedItems removeObject:item];
155+
}
156+
157+
for( FeedItem *item in addedFeedItems ){
158+
[_feedItems addObject:item];
159+
}
160+
161+
[_pageControl_itemIndicator.button_newItem setHidden:NO];
157162
}
158-
159-
[_pageControl_itemIndicator.button_newItem setHidden:NO];
160-
}
163+
};
164+
165+
return block;
161166
}
162167

163168
#pragma mark - IBActions

0 commit comments

Comments
 (0)