View difference between Paste ID: e6mX2kRr and juUYdqN0
SHOW: | | - or go back to the newest paste.
1-
- (void) viewDidLoad
1+
- (void) viewDidLoad
2-
{
2+
{
3-
    [super viewDidLoad];
3+
    [super viewDidLoad];
4-
4+
5-
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
5+
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
6-
    [refreshControl addTarget:self action:@selector(doLoad) forControlEvents:UIControlEventValueChanged];
6+
    [refreshControl addTarget:self action:@selector(doLoad) forControlEvents:UIControlEventValueChanged];
7-
    self.refreshControl = refreshControl;
7+
    self.refreshControl = refreshControl;
8-
}
8+
9-
9+
10-
- (void) doLoad
10+
- (void) doLoad
11-
{
11+
{
12-
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
12+
    dispatch_async(dispatch_get_global_queue(0, 0), ^{
13-
            // Instead of sleeping, I do a webrequest here.
13+
            // Instead of sleeping, I do a webrequest here.
14-
            [NSThread sleepForTimeInterval: 5];
14+
            [NSThread sleepForTimeInterval: 5];
15-
15+
16-
            dispatch_async(dispatch_get_main_queue(), ^{
16+
            dispatch_async(dispatch_get_main_queue(), ^{
17-
                [tableView reloadData];
17+
                [tableView reloadData];
18-
                [self.refreshControl endRefreshing];
18+
                [self.refreshControl endRefreshing];
19-
            });
19+
            });
20-
    });
20+
    });
21
}
22
	
23-
- (void)viewDidAppear:(BOOL)animated
23+
- (void)viewDidAppear:(BOOL)animated
24-
{
24+
{
25-
    [super viewDidAppear:animated];
25+
    [super viewDidAppear:animated];
26-
    [self.refreshControl beginRefreshing];
26+
    [self.refreshControl beginRefreshing];
27
}
28
	
29-
- (void) viewWillAppear: (BOOL) animated
29+
- (void) viewWillAppear: (BOOL) animated
30-
{
30+
{
31-
    [super viewWillAppear: animated];
31+
    [super viewWillAppear: animated];
32-
32+
33-
    self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
33+
    self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
34-
    [self.refreshControl beginRefreshing];    
34+
    [self.refreshControl beginRefreshing];    
35-
35+
36-
    // kick off your async refresh!
36+
    // kick off your async refresh!
37-
    [self doLoad];
37+
    [self doLoad];
38
}
39
	
40-
@interface TSTableViewController : UITableViewController
40+
@interface TSTableViewController : UITableViewController
41
@end
42
	
43-
#import "TSTableViewController.h"
43+
#import "TSTableViewController.h"
44-
44+
45-
@implementation TSTableViewController
45+
@implementation TSTableViewController
46-
{
46+
{
47-
    NSMutableArray*    _dataItems;
47+
    NSMutableArray*    _dataItems;
48-
}
48+
49-
49+
50-
- (void) viewDidLoad
50+
- (void) viewDidLoad
51-
{
51+
{
52-
    [super viewDidLoad];
52+
    [super viewDidLoad];
53-
53+
54-
    self.refreshControl = [UIRefreshControl new];
54+
    self.refreshControl = [UIRefreshControl new];
55-
55+
56-
    [self.refreshControl addTarget: self
56+
    [self.refreshControl addTarget: self
57-
                            action: @selector( onRefresh: )
57+
                            action: @selector( onRefresh: )
58-
                  forControlEvents: UIControlEventValueChanged];
58+
                  forControlEvents: UIControlEventValueChanged];
59-
}
59+
60-
60+
61-
- (void) viewWillAppear:(BOOL)animated
61+
- (void) viewWillAppear:(BOOL)animated
62-
{
62+
{
63-
    [super viewWillAppear: animated];
63+
    [super viewWillAppear: animated];
64-
64+
65-
    self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
65+
    self.tableView.contentOffset = CGPointMake(0, -self.refreshControl.frame.size.height);
66-
66+
67-
    [self.refreshControl beginRefreshing];
67+
    [self.refreshControl beginRefreshing];
68-
    [self onRefresh: nil];
68+
    [self onRefresh: nil];
69-
}
69+
70-
70+
71-
- (void) onRefresh: (id) sender
71+
- (void) onRefresh: (id) sender
72-
{
72+
{
73-
    double delayInSeconds = 2.0;
73+
    double delayInSeconds = 2.0;
74-
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
74+
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC));
75-
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
75+
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
76-
76+
77-
        _dataItems = [NSMutableArray new];
77+
        _dataItems = [NSMutableArray new];
78-
78+
79-
        for ( int i = 0 ; i < arc4random() % 100 ; i++ )
79+
        for ( int i = 0 ; i < arc4random() % 100 ; i++ )
80-
        {
80+
        {
81-
            CFUUIDRef uuid = CFUUIDCreate( NULL );
81+
            CFUUIDRef uuid = CFUUIDCreate( NULL );
82-
82+
83-
            [_dataItems addObject: CFBridgingRelease(CFUUIDCreateString( NULL, uuid)) ];
83+
            [_dataItems addObject: CFBridgingRelease(CFUUIDCreateString( NULL, uuid)) ];
84-
84+
85-
            CFRelease( uuid );
85+
            CFRelease( uuid );
86-
        }
86+
        }
87-
87+
88-
        [self.refreshControl endRefreshing];
88+
        [self.refreshControl endRefreshing];
89-
89+
90-
        [self.tableView reloadData];
90+
        [self.tableView reloadData];
91-
    });
91+
    });
92-
}
92+
93-
93+
94-
#pragma mark - Table view data source
94+
#pragma mark - Table view data source
95-
95+
96-
- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView
96+
- (NSInteger) numberOfSectionsInTableView: (UITableView *) tableView
97-
{
97+
{
98-
    return 1;
98+
    return 1;
99-
}
99+
100-
100+
101-
- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection: (NSInteger) section
101+
- (NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection: (NSInteger) section
102-
{
102+
{
103-
    return _dataItems.count;
103+
    return _dataItems.count;
104-
}
104+
105-
105+
106-
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
106+
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
107-
{
107+
{
108-
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault
108+
    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault
109-
                                                   reuseIdentifier: nil];
109+
                                                   reuseIdentifier: nil];
110-
110+
111-
    cell.textLabel.text = [_dataItems objectAtIndex: indexPath.row];
111+
    cell.textLabel.text = [_dataItems objectAtIndex: indexPath.row];
112-
112+
113-
    return cell;
113+
    return cell;
114-
}
114+
115-
115+
116
@end
117
	
118-
- (void) viewDidAppear: (BOOL) animated
118+
- (void) viewDidAppear: (BOOL) animated
119-
   {
119+
   {
120-
          [super viewDidAppear: animated];
120+
          [super viewDidAppear: animated];
121-
          UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
121+
          UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
122-
          [refreshControl addTarget:self action:@selector(doLoad) forControlEvents:UIControlEventValueChanged];
122+
          [refreshControl addTarget:self action:@selector(doLoad) forControlEvents:UIControlEventValueChanged];
123-
          self.refreshControl = refreshControl;
123+
          self.refreshControl = refreshControl;
124-
          [self.refreshControl beginRefreshing];    
124+
          [self.refreshControl beginRefreshing];    
125-
125+
126
   }