第一,熟悉ARC机制:首先要了解ARC的前世今生。假设了解不清楚会导致两种可能,1,一个对象的引用莫名奇异为空。或失效了。这个一般都能在开发阶段及时发现,由于会导致应用异常。2。导致内存溢出;不了解ARC机制非常easy导致内存不能被正确释放,这类问题会非常隐蔽。

若非特意去做内存測试,那么都会在用户使用的阶段才会被暴露出来,由于内存消耗是个累积的过程。用户不断使用APP,至到内存耗尽。异常退出。

第二,了解Block的使用方法:我使用后的感受是,能够把一个操作的不同结果的处理放在一起,而不用分散到各处。逻辑看起来更加清晰。

第三,GCD的用户:很好用的多线程。再加上block的,能够不再使用selector了。

以上三点内容能够看这本书《Objective-C高级编程:iOS与OS X多线程和内存管理》

第四,灵活使用auto layout:auto layout 出现有非常长时间了。自从ios7 xcode5開始又有了重大改进。假设你还是使用autosizing,然后自己计算位置的话,那你就是老古董。

-第一阶段:Auto layout的入门能够看岁寒的的三篇博文。从入门開始,到做几个有难度的页面:http://lvwenhan.com/ios/430.html

-第二阶段:然后就在实际中多多操作。当有些感悟的时候。能够看看这篇总结帖:http://vit0.com/blog/2013/12/07/iosxue-xi-zhi-autolayout

-第三阶段:实际上auto layout是基于一套理论基础。功能很强大。要做真真的高手的话。请看这本书《iOS Auto Layout开发秘籍(第2版) 》

第五。看看人家是怎么做:非常多事情自己在做的时候会以为这就是最优方法了。这样的状态非常危急,陷入到了闭门造车的状态。

改变这样的状态的方法

-方法1:和外界多交流;

-方法2:看这本书《iOS开发进阶》。这本书实际上记录作者工作中的一些技能和技巧;内容不能说非常全面,可是翻一翻。或许就能发现其它人做的好的地方。

第六。Swift,这个就不多说了。语言本身我没看出特别高明的地方。

效率,模式?事实上就是个oc的翻版。苹果不会无缘无故推出这个语言。近期轰动的举动就是宣布开源了。

费这么大力,一定有原因的,程序猿们,跟上吧。

再补充三个

第七,coredata:曾经我也用sqlite来保存数据,事实上通过coredata来保存数据更加简单,非常类似hibernate。深入讲coredata的书不多。有一本叫《CoreData应用开发实践指南》 ,并不推荐用于学习,能够作为參考。

并不非常难,关键是实际中操作。

第八。设计模式:严格来讲OC是个面向对象的语言。23种设计模式还是能够适用的。

推荐 《Objective-C编程之道:iOS设计模式解析》

第九,《iOS应用逆向project》,剑走偏锋就是破解,用在正途就是学习。

iOS进阶路线以及进阶书籍的更多相关文章

  1. iOS原生地图开发进阶——使用导航和附近兴趣点检索

    iOS原生地图开发进阶——使用导航和附近兴趣点检索 iOS中的mapKit框架对国际化的支持非常出色.在前些篇博客中,对这个地图框架的基础用法和标注与覆盖物的添加进行了详细的介绍,这篇博客将介绍两个更 ...

  2. CI Weekly #8 | CI/CD 技能进阶路线

    在使用 flow.ci 进行持续集成的过程中,也许你会遇到一些小麻烦.最近我们整理了一些常见问题在 flow.ci 文档之 FAQ,希望对你有用.如果你遇到其他问题,也可以通过「在线消息」或去 Git ...

  3. vue3.0新特性以及进阶路线

    Vue3.0新特性/改动 新手学习路线  ===> 起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要 ...

  4. iOS开发路线简述

    1 iOS开发环境1.1 开发环境标准的配置是MacOSX+Xcode.MacOSX的话首选用苹果电脑,Macmini最便宜只要4000多就好了然后自己配一个显示器,MacBookPro 也可以,不推 ...

  5. ios 学习路线总结

    学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...

  6. Python:什么是进阶,如何进阶?

    目录 Python:什么是进阶,如何进阶? 1. 什么是进阶? 2. 如何进阶? 3. 除此之外呢? Python:什么是进阶,如何进阶? 1. 什么是进阶? 一门编程语言的基础部分,往往非常简单.如 ...

  7. iOS开发——iOS学习路线

    iOS学习路线 版权声明:欢迎转载,请贴上源地址:http://www.cnblogs.com/iCocos/(iOS梦工厂) 一:自学初步学习路线 二:高级完整学习路线 三:完整知识与能力体系 思维 ...

  8. 架构师素养及从小菜进阶架构(CTO)的书籍【转】

    CTO要了解无线技术/搜索/大数据/数据库等. -- 通常定义架构有几个层次,这包括业务架构.产品架构.应用架构和技术架构: 1.业务架构:描述一个企业围绕一个行业做了哪些业务,例如支付行业的收单.退 ...

  9. php自学提升进阶路线

    为了自己对php的系统全面深入的掌握,我通过个人经验,以及搜索网上高手经验,汇总了一份php自我学习路线规划,包括实战演练.学习建议.高手进阶.常见问题和测试总结五块.算是一个系统的学习计划和目标吧. ...

随机推荐

  1. python学习日记-180823

    列表 a=[ ] 1.负数下标:a=[-1]指的是列表a最后一个下标,-2指倒数第二个下标 2.切片——利用切片获得子列表 a[1:4]——'1'切片开始处的下标,‘4’切片结束处的下标(不包括此下标 ...

  2. Highcharts图表的注解功能

    Highcharts图表的注解功能 在图表中,往往须要对图表总体或者部分元素进行对应注解.帮助浏览者阅读图表.尽管标签组labels能够实现类似的功能.可是其功能相对简单.要实现复杂的注解功能,用户能 ...

  3. js16--自定义原型对象

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  4. the resource is not on the build path of a java project错误

    在eclipse中,使用mavenimport了一个工程,但是在对某一个类进行F3/F4/ctrl+alt+H操作的时候报错:“the resource is not on the build pat ...

  5. POJ 1320 Street Numbers Pell方程

    http://poj.org/problem?id=1320 题意很简单,有序列 1,2,3...(a-1),a,(a+1)...b  要使以a为分界的 前缀和 和 后缀和 相等 求a,b 因为序列很 ...

  6. C#之菜单控件、主窗体打开子窗体、GroupBox控件使用

    一.背景 一年前有学习过C#,但没有在项目中去实际做APP,重新捡起来应用到项目中.我同事本来做好一个CANOPEN设备管理的界面,由于近期搜索了别人的开发的界面,我觉得有很多东西要重新安排,以及我已 ...

  7. tomcat做成windows服务之后使用JMX监控的问题

    转载:http://blog.chinaunix.net/uid-20449851-id-2369842.html

  8. Android睡眠唤醒机制--Kernel态

    一.简介 Android系统中定义了几种低功耗状态:earlysuspend.suspend.hibernation.       1) earlysuspend: 是一种低功耗的状态,某些设备可以选 ...

  9. 利用 istio 来对运行在 Kubernetes 上的微服务进行管理

    尝试在一个准生产环境下,利用 istio 来对运行在 Kubernetes 上的微服务进行管理. 这一篇是第一篇,将一些主要的坑和环境准备工作. 内容较多,因此无法写成手把手教程,希望读者有一定 Ku ...

  10. 【CS Round #43 D】Bad Triplet

    [链接]点击打开链接 [题意] 给你n个点m条边的无权无向联通图; 让你找3个点A,B,C 使得A->B=B->C=A->C 这里X->Y表示点X到点Y的最短路长度. [题解] ...