iOS アプリで EGOTableViewPullRefresh ライブラリを使用しています。これを実装するには、元のクラスを UIViewController のサブクラスから UITableViewController に変更する必要がありました。これにより、NSMutableArray などにデータを保存する方法が明らかに壊れました。
ヘッダ:
#import <UIKit/UIKit.h>
#import "EGORefreshTableHeaderView.h"
@interface PullViewController : UITableViewController <EGORefreshTableHeaderDelegate, UITableViewDelegate, UITableViewDataSource>{
NSArray *news;
NSMutableArray *data;
EGORefreshTableHeaderView *_refreshHeaderView;
// Reloading var should really be your tableviews datasource
// Putting it here for demo purposes
BOOL _reloading;
}
- (void)reloadTableViewDataSource;
- (void)doneLoadingTableViewData;
@end
実装:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
data = [[NSMutableData alloc] init];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)theData{
[data appendData:theData];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
news = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
[self.tableView reloadData];
[DejalBezelActivityView removeViewAnimated:YES];
}