这一篇接上篇,依然是iOS Programming: The Big Nerd Ranch Guides这本书的学习笔记,这本书对于各种点讲的还比较清楚,这一篇主要集中在view controller相关的点上。
iOS学习笔记1
接触iOS这个平台也有1年多的时间了,中途有看过一些书,也看过一些博客,但终究觉得是纸上得来终觉浅。最近也好好思考了一下,对于iOS的学习一直都是随性的,想到啥了就学啥,导致的结果就是有些部分因为比较感兴趣,学的比较深入,有些部分却是一个完完全全的初学者,所以当自己想去写点什么的时候,总是有点力不从心。总结了一下,现在对于objetctive-c的语法,以及ios的内存管理,多线程等方面至少是应该跨过了初学者的层次,但是对于view,controller还有Apple提供的api等知道的甚少。正好最近有同事推荐了iOS Programming: The Big Nerd Ranch Guides,网上看了一下,觉得挺不错的,对于现阶段的我,正好可以查缺补漏,同时练手和巩固已有知识。这个学习笔记系列也就是我学习过程中的一些记录。
Python学习笔记
最近开始学习coursera上的python教程,这门课程相当简单,是面向刚接触编程的,对于已经有个编程基础的,可以权当花少量的时间,过一下语法。我学这门课程花的时间也不多,发现python语法中的确有一些不一样的地方,这里记录一下。
缩排
python中识别代码快是用缩进的,值得注意的是要保持缩进的格式一致,一定记得不要将tab和空格混用,否则容易带来很难检查的缩进错误,建议编写python代码时,将编辑器做一些设定,让tab自动成为空格。
谈谈Foundation
Founcation Kit是Cocoa中非常重要的一员,其提供了很多方便使用的数据对象类型。Foundation是基于Core Foundation实现的,后者是用纯C语言写的,它们之间进行转变也非常方便。这一篇我主要是记录一些在学习Foundation中觉得应该特别注意的几个点。
类簇
在Foundation中类簇非常常见,比如NSArray,NSNumber
等。类簇的本质其实是抽象工厂模式,使用这个的好处就是用户在使用这些NSArray,NSNumber
时,不用去考虑具体实例化的对象是属于什么类。值得注意一点的是,千万不要创建类簇的子类,处理不好的话会是灾难。关于类簇,更多的信息可见参考文献2,该文阐述的非常清晰,并给出了具体的使用场景。
读书笔记(3) iOS与OSX多线程和内存管理
今天是<iOS与OSX多线程和内存管理>读书笔记的最后一篇了,主题是多线程。书中主要是讲GCD,并没有讲NSOperation的东西,我这一篇一方面简要地对GCD记录一些知识点,也谈一点点NSOperation方面的东西。对于NSOperation方面的知识,我看了很多人推荐的教程,觉得写得非常好,推荐想学习的人看一看。
慎用@sync
从字面意思@async
是异步执行,那@sync
就是同步执行了。使用@sync
时一定要万分小心,比如主线程,则会直接造成阻塞,死锁。因为任务执行完之后才会返回,但任务又必须等待其之前的任务完成才能执行。