iOS基础知识
空白的空
呵呵~
展开
-
怎么理解MVC, 在Cocoa中MVC是怎么实现的?
M即model, 就是所谓的模型层,V即view,代表的是视图层,C即controller,指的是控制层. MVC设计模式考虑三种对象:模型对象,视图对象,和控制器对象.模型对象负责保存应用程序的数据和定义操作数据的逻辑,视图对象知道如何显示模型对象的数据,并且允许用户对其修改编辑,控制器对象前二者之间的协调者,控制整个应用程序的逻辑.我们所做的应用程序大多都是基于MVC框架开发,MVC框架一定原创 2015-03-01 21:41:09 · 1725 阅读 · 0 评论 -
对GCD简单理解及用法
GCD即为Grand Central Dispatch的缩写 GSD在Mac OS X10.6中第一次推出,从iOS4.0后开始引入,GCD是一种很强大高效的技术,它可以处理诸如数据锁定或资源泄露的等复杂的异步编程问题 下面看看用法 声明一个队列 dispatch_queue_t queue = dispatch_queue_create("com.iphonedevblog.post",原创 2015-03-01 23:15:52 · 416 阅读 · 0 评论 -
深复制与浅复制的区别
浅复制:只复制对象的指针,而不复制引用对象本身 深复制:复制引用对象本身,在创建一个对象,也就是相当于将前者友copy了一份在内存中,当我们修改复制过后的值时,不会修改原本德引用对象 简而言之就是深复制就是内存中存在了两份独立的对象本身, 而浅复制只有原本的对象本身原创 2015-03-01 23:40:00 · 319 阅读 · 0 评论 -
drawRect与layoutSubviews的区别
两个方法都是异步执行的 layoutSubviews方便数据计算,drawRect方便视图重绘 layoutSubviews对subViews重新布局 layoutSubviews方法调用先于drawRect原创 2015-03-01 23:52:48 · 326 阅读 · 0 评论 -
对UIView,UIWindow,CALayer的理解
UIView负责渲染矩形区域内的内容,为矩形区域添加动画,相应区域的触摸事件,布局, 和管理一个或多个子视图,UIWindow是一个特殊的UIView,通常在一个程序中只有一个UIWindow,但可以手动创建多个添加到程序中 UIWindow主要起三个作用: 1,作为容器,包含程序所有要显示的视图 2,传递触摸消息到其他的UIView或其他对象 3,与UIViewController协同工原创 2015-03-01 22:49:57 · 1473 阅读 · 0 评论 -
理解进程,线程的区别
进程和线程都是操作系统提供的程序运行的基本单元,系统利用该单元实现对应用程序的并发性 二者的差别主要是系统资源管理方式,进程有着独立的地址空间,一个进程崩溃后,不会对其他的进程产生影响 线程只是进程中不同的执行路径,线程有自己的堆栈和局部变量,但是没有单独的地址空间,一个线程死掉就等于整个进程死掉,说白了就是多进程的程序要比多线程的程序耐活 那么进程越多就越好呢?其实不然,在进程切换时,它所原创 2015-03-01 23:29:38 · 296 阅读 · 0 评论 -
内存管理autolease, retain, assign, copy的set方法和含义?
当你初始化一个对象时,即init或alloc一个对象时,就需要将这个对象释放掉,而这时就会用到release,或者autorelease了 autorelease用于ARC中,在ARC中,内存的引用计数是不需要手动管理的,所有的管理都是有系统进行统一的管理 release用于MRC,当你初始化一个对象,或者retain,copy时, 都需要将这个对象释放掉.在MRC中所有的引用计数都是需要手动原创 2015-03-01 22:14:22 · 614 阅读 · 0 评论