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自我学习路线规划,包括实战演练.学习建议.高手进阶.常见问题和测试总结五块.算是一个系统的学习计划和目标吧. ...
随机推荐
- ElasticSearch 5.2.2 集群环境的搭建
在之前 ElasticSearch 搭建好之后,我们通过 elasticsearch-header 插件在查看 ES 服务的时候,发现 cluster-health 显示的是 YELLOW. Why? ...
- 关于指定dll搜索路径
原文:关于指定dll搜索路径 问题现象 当部分DLL放在子文件夹下,需要指定DLL搜索路径,否则系统将找不到文件 产生原因 系统默认搜索只会在前程序目录并不包括子目录 解决方法 1,使用App.con ...
- UVa 11094 - Continents
题目:有一些岛屿在湖中.地图用两种字符表示.当前处在位置是一个岛屿.求除了当前岛屿外的最大岛屿. 分析:图论,floodfill.直接利用dfs求联通部分的面积就可以,然后取出最大. 说明:横线没有边 ...
- TextView-显示自己添加的字体样式
1.首先要把我们的字体放到相应的目录下 如果我们仅仅是想要验证一个字体,我们可以直接 我们的字体push到 手机 /system/fonts/ 目录下面 2.在代码中进行设置 import andro ...
- Android开发经验之在图片上随意点击移动文字
只要在图片范围之内,文字可随意点击移动. package xiaosi.GetTextImage; import android.content.Context; import android.con ...
- Android学习笔记技巧之垂直和水平滚动视图
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android=" ...
- php数组时按值传递还是按地址传递
php数组时按值传递还是按地址传递 一.总结 1.数组都是按值:php普通变量和数组的赋值(=)是按值传递,对象的赋值(=)是按址传递 2.对象和按值和按址:对象的clone(用clone关键字)是按 ...
- npm install (让别人下载自己的包)
好几天没更新了,再这里跟大家说声抱歉,今天来点干货. 发布一个包在npm上,可以供世界所有人使用,想一下,以前我们做项目,都是在npm install 别人的包,什么时候才能install我们自己的包 ...
- Flume的client
Client:生产数据,运行在一个独立的线程.
- 1.20 Python基础知识 - python常用模块-1
一.time和datetime 1.time模块 1)time.process_time() >>> import time >>> time.process_ti ...