1212
1313#import " AFNetworking.h"
1414#import " KtTableViewBaseItem.h"
15+ #import " KtMainTableModel.h"
1516
1617@interface KTMainViewController ()
1718
19+ @property (strong , nonatomic ) KtMainTableModel *model;
1820
1921@end
2022
21- static NSString * const BaseURLString = @" http://1.footballapp.sinaapp.com/mooclist.php" ;
22-
2323@implementation KTMainViewController
2424
2525- (void )viewDidLoad {
2626 [super viewDidLoad ];
27- NSDictionary *parameters = @{@" nextPage" : @" 0" };
28- AFHTTPSessionManager *manager = [AFHTTPSessionManager manager ];
29- manager.responseSerializer .acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAddingObject: @" text/html" ];
30- NSURLSessionDataTask *task = [manager GET: BaseURLString parameters: parameters progress: nil success: ^(NSURLSessionTask *task, id responseObject) {
31- NSDictionary *dic = (NSDictionary *)responseObject;
32- NSArray *array = dic[@" data" ];
33- for (NSDictionary *dict in array) {
34- KtTableViewBaseItem *item = [[KtTableViewBaseItem alloc ] initWithImage: nil Title: dict[@" title" ] SubTitle: nil AccessoryImage: nil ];
35- [self .dataSource appendItem: item];
36- }
37- [self .tableView reloadData ];
38- } failure: ^(NSURLSessionTask *operation, NSError *error) {
39- NSLog (@" Error: %@ " , error);
40- }];
27+ [self createModel ];
28+ [self getFirstPage ];
4129 // Do any additional setup after loading the view, typically from a nib.
4230}
4331
32+ - (void )createModel {
33+ self.model = [[KtMainTableModel alloc ] initWithAddress: @" /mooclist.php" ];
34+ __weak typeof (self) wSelf = self;
35+ [self .model setCompletionBlock: ^(KtBaseModel *model){
36+ __strong typeof (self) sSelf = wSelf;
37+ [sSelf requestBooksSuccess ];
38+ }];
39+ }
40+
4441- (void )createDataSource {
4542 self.dataSource = [[KtMainTableViewDataSource alloc ] init ]; // 这一步创建了数据源
4643}
@@ -50,4 +47,18 @@ - (void)didReceiveMemoryWarning {
5047 // Dispose of any resources that can be recreated.
5148}
5249
50+ - (void )getFirstPage {
51+ self.model .params = @{@" nextPage" : @0 };
52+ [self .model loadWithShortConnection ];
53+ }
54+
55+ - (void )requestBooksSuccess {
56+ for (KtMainTableBookItem *book in self.model .tableViewItem .books ) {
57+ KtTableViewBaseItem *item = [[KtTableViewBaseItem alloc ] init ];
58+ item.itemTitle = book.bookTitle ;
59+ [self .dataSource appendItem: item];
60+ }
61+ [self .tableView reloadData ];
62+ }
63+
5364@end
0 commit comments