美文网首页
如何将controller瘦身?

如何将controller瘦身?

作者: Mossion | 来源:发表于2016-03-19 17:47 被阅读61次

      前阵子,看到了一篇关于将controller瘦身的文章,很多同学则是一直都是将数据请求放在controller内,所以当项目越来越大时controller就会变得越来越臃肿,代码读起来简直是折磨人。废话不多说,直接上代码:

在model中.h文件: 创建一个block,代理也行,个人喜好。

#import

typedef void(^success)(NSArray *responseArray,NSError *error);

@interface jokerModel : NSObject

+ (void)loadData:(success)success;

@end

.m文件:

+ (void)loadData:(success)success{

[[Httptool shareManager] getHttpRequest:@"http://api.1-blog.com/biz/bizserver/xiaohua/list.do" paramters:nil success:^(id responseObject) {

NSMutableArray *arr = [NSMutableArray array];

NSArray *videoLists = [responseObject objectForKey:@"detail"];

for (NSDictionary *dict in videoLists) {

[arr addObject:[self dicToModel:dict]];

}

} failure:^(NSError *error) {

success(nil,error);

}];

}

// 字典转模型,必须是类方法(+)

+ (jokerModel *)dicToModel:(NSDictionary *)dic{

jokerModel *model = [[jokerModel alloc] init];

[model setValuesForKeysWithDictionary:dic];

return model;

}

// setValuesForKeysWithDictionary: 内部会调用下面这个方法

- (void)setValue:(id)value forKey:(NSString *)key{

// 调用父类方法  如果不调用父类方法,则setValuesForKeysWithDictionary:不起作用

[super setValue:value forKey:key];

}

- (void)setValue:(id)value forUndefinedKey:(NSString *)key{

}

最后,你在controller中就可以直接请求数据了:

- (void)loadData{

[jokerModel loadData:^(NSArray *responseArray, NSError *error) {

if (error != nil) {

return ;

}

dataArray = [NSArray arrayWithArray:responseArray];

[jokerTabelView reloadData];

}];

}

连接地址:GitHub - Mossion/Joker-master: controller瘦身,不再涉及到网络层。Masonry约束,动态返回高度。缓存高度。

相关文章

  • 如何将controller瘦身?

    前阵子,看到了一篇关于将controller瘦身的文章,很多同学则是一直都是将数据请求放在controlle...

  • Controller瘦身

    在我们使用传统的MVC设计模式的时候,通常写着写着C中的代码就会变得又多又乱,今天通过一个简单的实例来了解MVP设...

  • Controller 的瘦身

    讨论下Controller 瘦身.在此之前一直想把tableview的代理在controller中干掉 ,可是一直...

  • SpringBoot:从request parameter中转换

    对于@Controller/@RestController注解标记的类方法中,如何将request paramet...

  • MVVM与Controller瘦身实践

    前言 MVC是一个做iOS开发都知道的设计模式,也是Apple官方推荐的设计模式。实际上,Cocoa Touch就...

  • iOS - Controller 瘦身简析

    在《iOS 常见架构一览》中提到, 由于iOS 开发模式中没有在设计上规范的子组件所在位置,若使用不当,会导致UI...

  • 如何给View Controller"瘦身"

    objc.io 是一个非常有名的 iOS 开发博客,它上面的第一课 《Lighter View Controlle...

  • Swift3.0 Controller瘦身

    缘由 iOS开发,我们常用的组件UITableView,UICollectionView,通过代理的方式实现数据的...

  • 关于controller的瘦身计划

    偶然在objc.io中看过一篇关于controller瘦身的文章.之后又从唐大神的公众号那了解到了一些给VC减肥的...

  • iOS 开发中为controller 瘦身

    在以往的开发中,使用MVC架构模式的时候还是居多的,MVC方便的是职责比较明确,View负责界面的展示,Model...

网友评论

      本文标题:如何将controller瘦身?

      本文链接:https://www.haomeiwen.com/subject/ezrqkttx.html