1,项目创建最好有一个自己的继承于UIViewController的类,并且其他控制器继承这个控制器,灵活性较大,例如:

要给项目每个页面添加截图或用户操作轨迹记录等,这样就省去了到每个页面添加的麻烦,在这个父类中写逻辑即可!

2,不用所有的UI元素都在控制器里self.view addsubview,写多了确实很晕,逻辑与试图参合!自定义view类,加到控制器里解决.

3, 执行网络请求异步任务过多会耗费资源,最好用到队列   参考:http://blog.csdn.net/totogo2010/article/details/8013316
  这里介绍专业级项目中用到的方法
  结构:
  1个继承NSOperation的类   MyOperation
  1个继承NSObject的管理类,单例 TaskManager
 
 
 NSOperation就和java.lang.Runnable接口很相似。和Java的Runnable一样,NSOperation也是设计用来扩展的,只需继承重写NSOperation的一个方法main。相当与java 中Runnalbe的Run方法。然后把NSOperation子类的对象放入NSOperationQueue队列中,该队列就会启动并开始处理它。

//执行任务的类

@interface MyOperation : NSOperation

@implementation MyOperation

//重载父类方法,队列自动执行main
- (void)main {
    @autoreleasepool {
        @try {
            //主要代码
            NSLog(@"+++++++++++++++++++++++++++++++++++++============================");
        }@catch (NSException *e) {
            //异常处理
        }@finally {
            //一般不写代码
        }
    }
}
@end

////////////////////////////管理执行任务的类

#import "MyOperation.h"

//这里简单测试,不写单例
@interface TaskManager : NSObject
{
    //创建一个任务队列
    NSOperationQueue *operationQueue;
}

- (void)startOperation;

@end

- (instancetype)init
{
    self = [super init];
    if (self) {
        operationQueue = [[NSOperationQueue alloc]init];
        //同时执行的任务数,主要就是为了它
        operationQueue.maxConcurrentOperationCount = 1;
    }
    return self;
}

- (void)startOperation
{
    MyOperation* op = [[MyOperation alloc]init];
    [operationQueue addOperation:op];
}

//使用处调用

TaskManager *manager = [[TaskManager alloc]init];
    [manager startOperation];

(工作经验总结一二)队列--多个main的原因的更多相关文章

  1. java后端程序员1年工作经验总结

    java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...

  2. 2年Java开发工作经验面试总结

    最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪 ...

  3. 3年java工作经验必备技能

    3年工作经验的Java程序员应该具备的技能 一.Java基础 1.String类为什么是final的. 2.HashMap的源码,实现原理,底层结构. 3.反射中,Class.forName和clas ...

  4. 教你写Makefile(很全,含有工作经验的)

    Makefile 值得一提的是,在Makefile中的命令,必须要以[Tab]键开始. 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了 ...

  5. 一名3年工作经验的java程序员应该具备的职业技能

    一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容.我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价.拿到的薪水势必也越高 ...

  6. 精干货! Java 后端程序员 1 年工作经验总结

    一.引言   毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少 东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护 和发布当救火队员的苦恼 ...

  7. 一名3年工作经验的java程序员应该具备的技能

    一名3年工作经验的Java程序员应该具备的技能,这可能是Java程序员们比较关心的内容.我这里要说明一下,以下列举的内容不是都要会的东西—-但是如果你掌握得越多,最终能得到的评价.拿到的薪水势必也越高 ...

  8. Java2年开发工作经验面试总结

    Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...

  9. 超人学院二期学员分享hadoop工作经验

    定于2月17日--2月23日的某一天,邀请咱们学员分享一下hadoop工作经验.对于没工作过的同学或者没从事过hadoop工作的同学,抓住机会啊,你可以提前准备自己关心的各种问题! 具体时间请关注QQ ...

随机推荐

  1. 20145236 《Java程序设计》实验一实验报告

    北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.08 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实 ...

  2. splunk rest api search

    如下: curl -u admin:changeme -k https://localhost:8089/services/search/jobs -d search="search sou ...

  3. 六种流行的语言---C、C++、python、Java、php、C#比较[转]

    语言大餐 回归正题,本文是六种语言连接mysql数据库的代码展示,在LZ尝试的过程中,无论是语言环境搭建.mysql依赖库的导入还是代码的风格,各种语言都各有千秋.接下来,我们就让这些语言一一登场吧. ...

  4. loadrunner 如何做关联

    在页面中为了防止CRSF攻击,每次访问登录页面时,在浏览器器端生成一个token. 在提交时检验这个token是否有效,提交后token自动失效.   如果使用loadrunner来测试此系统话需要做 ...

  5. 安装apache+php+mysql

    #yum -y install httpd   安装完成之后查看安装时生成了哪些文件: #rpm -ql httpd   绑定域名(如果没有域名可以跳过): #cd /etc/httpd/conf.d ...

  6. visualSVN server库迁移

    首先,VisualSVN Server Manager,包含两个路径,一个是安装路径,例如本机:C:\Program Files\VisualSVN Server,一个是库路径,例如本机:C:\Rep ...

  7. [开发笔记]-WindowsService服务程序开发

    Windows服务:Microsoft Windows 服务(即,以前的 NT服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序.这些服务可以在计算机启动时自动启动,可 ...

  8. 【同行说技术】Python程序员小白变大神必读资料汇总( 三)

    在文章<Python开发.调试.爬虫类工具大全>里面向大家总结了各种实用工具和爬虫技术,今天小编收集了5篇带有实例干货的资料,赶紧来看看吧!另外,喜欢写博客的博主可以申请加工程师博主交流群 ...

  9. IE7的overflow失效的解决方法

    IE7的position:relative bug今天遇到了一个相对定位(position:relaitve)引起的IE7中overflow:hidden失效的bug,特此记录!解决方法很简单,给父层 ...

  10. Xutils的使用 转载 带自己细细研究

    单例模式static DbUtils db = null; public static DbUtils getDb(Context context) { if (context == null) { ...