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 | } |