- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 iOS(8)iOS中几种数据持久化方案:我要永远地记住你!
参考:http://www.cocoachina.com/ios/20150720/12610.html
2015-11-03 19:54:01 398
原创 iOS(9) SDWebImage 里面给 UIImageView 加载图片的逻辑是什么样的
SDWebImage 中为 UIView 提供了一个分类叫做 WebCache, 这个分类中有一个最常用的接口,sd_setImageWithURL:placeholderImage:, 这个分类同时提供了很多类似的方法, 这些方法最终会调用一个同时具有option progressBlock completionBlock 的方法, 而在这个类最终被调用的方法首先会检查是否传入了pl
2015-11-03 19:07:49 1289
原创 ios(7)@synthesize和@dynamic分别有什么作用?
@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var;@synthesize的语义是如果你没有手动实现setter方法和getter方法,那么编译器会自动为你加上这两个方法。@dynamic告诉编译器,属性的setter与getter方法由用户自己实现,
2015-11-02 21:24:34 1064
原创 ios(6)Observer – 观察者模式
在观察者模式中,当状态发生改变的时候,一个对象会通知另一个对象。这个对象不需要知道另一个对象发生了什么改变─因此非常鼓励这种分离式的设计。这种模式经常用于,当一个属性发生改变时通知跟它相关的对象。它通常需要一个观察者(observer)注册跟踪另外一个对象的状态。当状态发生改变的时候,所有的观察对象都会被通知改变。苹果的推送通知服务就是一个这样的例子。如果你想要一直使用 MVC 模
2015-11-02 20:14:13 529
原创 谈谈你对多线程开发的理解?ios中有几种实现多线程的方法?
在一个进程中有多个线程共同存在,每个线程执行各自的任务,相互之间不会干扰,一个线程可以创建或者撤销其他的线程.让一个进程可以同时执行很多任务.这就减少了等待时间,提高了进程的运行效率.但是多线程会耗费资源,并且由于一个线程死掉会造成整个进程死掉.多线程也容易造成安全性问题.
2015-11-02 19:34:51 1574
原创 iOS(5)线程是什么?进程是什么?二者有什么区别和联系?
线程,是进程的一个具体实例.程序运行的最小单位,是被系统独立调度和CPU的基本运行单元.进程是操作系统中可以并行工作的基本单元,一个应用程序有一个进程,一个进程中至少有一个线程.进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有
2015-11-02 19:30:27 480
原创 iOS(4)OC中内存管理机制
程序运行过程中要创建大量的对象,OC中对象是存储在堆中的,系统不会自动释放堆中的内存。如果一个对象创建并使用后没有得到及时释放,那么就会占用大量的内存。在C#中都有GC在自动管理内存,但是在OC中没有垃圾回收机制,那么OC中内存又是如何管理呢?其实在OC中内存的管理是依赖对象引用计数器(reference counting)来进行的。OC中每个对象都有一个与之对应的整数,叫“引用计数器
2015-11-02 19:04:25 541
原创 dispatch_barrier_async的作用是什么?
在并行队列中,为了保持某些任务的顺序,需要等待一些任务完成后才能继续进行,使用 barrier 来等待之前任务完成,避免数据竞争等问题。dispatch_barrier_async 函数会等待追加到Concurrent Dispatch Queue并行队列中的操作全部执行完之后,然后再执行dispatch_barrier_async 函数追加的处理,等 dispatch_barrier_a
2015-10-31 20:10:13 1067
原创 什么情况使用 weak 关键字,相比 assign 有什么不同?
什么情况使用 weak 关键字?在 ARC 中,在有可能出现循环引用的时候,往往要通过让其中一端使用 weak 来解决,比如: delegate 代理属性自身已经对它进行一次强引用,没有必要再强引用一次,此时也会使用 weak,自定义 IBOutlet 控件属性一般也使用 weak;当然,也可以使用strong。在下文也有论述:不同点:weak 此特质表明该
2015-10-31 19:39:46 3252
原创 iOS(3)多线程编程技术(Thread Cocoa opreations GCD(Grand Central Dispatch ))
简介 什么是多线程?多线程有什么作用? 有了多线程我们可以同时做多个事情,而不是一个一个任务的完成.比如:前段和后台的交互 大任务(学要消耗一定时间和资源)等等,也就是说 我们可以使用线程把占据时间长的任务放到后台中处理.而不影响用户的使用. 线程间通讯 有一个非常重要的队列 就是主队列.在这个主队列中处理多点触控及所有与UI有关的操作等
2015-10-30 19:38:44 770
原创 iOS(2)Block的使用
Block的介绍---对象与对象之间的通信 1 代理 --协议,通知,Block. 2 三种通信凡是都实现了对象之间的解耦合 3 通知的通信方式是1对多 4 代理 Block是1对1---什么是block 1 block是iOS4.0之后新增的一种语法结构,也称作"闭包" 2 block是一个匿名的函数代码块,
2015-10-29 22:20:33 411
原创 iOS(1)设置navigationBar为透明
-(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; self.navi
2015-10-26 20:11:21 517
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人