iOS进阶路线以及进阶书籍
第一,熟悉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进阶路线以及进阶书籍的更多相关文章
- iOS原生地图开发进阶——使用导航和附近兴趣点检索
iOS原生地图开发进阶——使用导航和附近兴趣点检索 iOS中的mapKit框架对国际化的支持非常出色.在前些篇博客中,对这个地图框架的基础用法和标注与覆盖物的添加进行了详细的介绍,这篇博客将介绍两个更 ...
- CI Weekly #8 | CI/CD 技能进阶路线
在使用 flow.ci 进行持续集成的过程中,也许你会遇到一些小麻烦.最近我们整理了一些常见问题在 flow.ci 文档之 FAQ,希望对你有用.如果你遇到其他问题,也可以通过「在线消息」或去 Git ...
- vue3.0新特性以及进阶路线
Vue3.0新特性/改动 新手学习路线 ===> 起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要 ...
- iOS开发路线简述
1 iOS开发环境1.1 开发环境标准的配置是MacOSX+Xcode.MacOSX的话首选用苹果电脑,Macmini最便宜只要4000多就好了然后自己配一个显示器,MacBookPro 也可以,不推 ...
- ios 学习路线总结
学习方法 面对有难度的功能,不要忙着拒绝,而是挑战一下,学习更多知识. 尽量独立解决问题,而不是在遇到问题的第一想法是找人. 多学习别人开源的第三方库,能够开源的库一定有值得学习的地方,多去看别的大神 ...
- Python:什么是进阶,如何进阶?
目录 Python:什么是进阶,如何进阶? 1. 什么是进阶? 2. 如何进阶? 3. 除此之外呢? Python:什么是进阶,如何进阶? 1. 什么是进阶? 一门编程语言的基础部分,往往非常简单.如 ...
- iOS开发——iOS学习路线
iOS学习路线 版权声明:欢迎转载,请贴上源地址:http://www.cnblogs.com/iCocos/(iOS梦工厂) 一:自学初步学习路线 二:高级完整学习路线 三:完整知识与能力体系 思维 ...
- 架构师素养及从小菜进阶架构(CTO)的书籍【转】
CTO要了解无线技术/搜索/大数据/数据库等. -- 通常定义架构有几个层次,这包括业务架构.产品架构.应用架构和技术架构: 1.业务架构:描述一个企业围绕一个行业做了哪些业务,例如支付行业的收单.退 ...
- php自学提升进阶路线
为了自己对php的系统全面深入的掌握,我通过个人经验,以及搜索网上高手经验,汇总了一份php自我学习路线规划,包括实战演练.学习建议.高手进阶.常见问题和测试总结五块.算是一个系统的学习计划和目标吧. ...
随机推荐
- PHP生成RSS报
<?php$sql="select * from wx_zimi ";$res=$dbs->query($sql);$arr=array();while($o=$dbs ...
- 使用Ant 和 Maven打包发布命令行程序(转载)
From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...
- 洛谷 P2782 友好城市
P2782 友好城市 题目描述 有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置各不相同的N个城市.北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同.每对友好城市都向政府申 ...
- ArcGIS Engine检索要素集、要素类和要素
转自原文 ArcGIS Engine检索要素集.要素类和要素 /// <summary> /// 获取所有要素集 /// </summary> /// <param na ...
- 利用hibernateTemplate进行最简单的分页
安全的方法例如以下.别用Session s=getSession()........ /** * 使用hql 语句进行操作 * @param hql HSQL 查询语句 * @param off ...
- 非阻塞键盘检测getchar()
#include <stdio.h> #include <conio.h> #include <Windows.h> int main() { char c; wh ...
- IntelliJ IDEA 2018 Community(社区版)创建J2EE项目+Tomcat9部署
博主打算开始系统地自学JAVA,首要问题就是解决IDE的问题, 以前用过像VS.Android Studio.Eclipse,知道Eclipse是JAVA最传统的IDE, 用过VS和AS的朋友都知道, ...
- virtualtemplate 接口
虚拟接口的配置.建立.与实际接口的关联 VPN在会话连接建立之后.须要创建一个虚拟接口用于和对端之间数据传输.此时,将依照用户配置,选择一个虚拟接口模板,动态地创建一个虚拟接口. 该接口将在会话结束时 ...
- 决策树2 -- CART算法
声明: 1,本篇为个人对<2012.李航.统计学习方法.pdf>的学习总结.不得用作商用,欢迎转载,但请注明出处(即:本帖地址). 2,因为本人在学习初始时有非常多数学知识都已忘记.所以为 ...
- mysql 获取自增id的值的方法
原生jdbc方式: Statement.getGeneratedKeys() 示例: Statement stmt = null; ResultSet rs = null; try { // // C ...