![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS 学习笔记
文章平均质量分 61
faterman
这个作者很懒,什么都没留下…
展开
-
iOS开发之单例
iOS开发中的单例模式(singleton)是指一个类只有一个实例,单例模式确保一个类只有一个实例,自行实例化并且向整个系统提供这个实例。我们把按照上述标准实现的类称之为单例类。 1. 常见的单例 有几个Cocoa框架类是按照这种模式实现的,他们包括:NSFileManager、NSWorkspace、UIApplication、UIAccelerometer等。原创 2014-03-27 15:03:41 · 746 阅读 · 0 评论 -
iOS开发之多线程编程 (1)
1.什么是线程同步此处的同步不是一起的意思,而是协同的意思。假设线程A,B,C,A完成某件事之后,通知B去做什么,B又会通知C什么时候做什么。还有比如我们有一个变量不允许多个线程一起访问那么就可以采用同步的方式。2.资源竞争--死锁程序中多个线程访问统一资源,这叫资源竞争。而由于资源竞争不当,可能导致线程相互等待而无法进行下去的情况,被称之为,死锁。3.线程通信原创 2015-03-28 16:09:39 · 514 阅读 · 0 评论 -
iOS开发之GCD(7)API dispatch_barrier_async
牛逼闪闪的栅栏。有这么一种情况,你的程序目录下有一个文件,在多线程编程环境下,需要读取和写入。(1)并发着读写?这样读的时候也许在写,那么可能读到与内容不符的数据,可能因为非法访问导致程序异常终止。(2)serial读写?浪费资源,效率低下。(3)serail写,并发读,并且两者之前有区分。可以自己通过group,设置优先级来实现。繁琐。牛逼闪闪的栅栏出现了原创 2015-03-17 15:25:50 · 551 阅读 · 0 评论 -
iOS开发之GCD(6)API Dispatch Group
首先看一段代码: dispatch_queue_t globalDispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_async(globalDispatchQueue, ^{ NSLog(@"1");原创 2015-03-17 15:12:19 · 521 阅读 · 0 评论 -
iOS开发之GCD(5)API dispatch_after
针对情况:某个任务我想要在n秒后执行,这种情况可以中dispatch——after来处理。 double delayInSeconds = 2.0; dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); dis原创 2015-03-17 14:47:35 · 504 阅读 · 0 评论 -
iOS开发之GCD(4)API dispatch_set_target_queue
作用1:改变Disaptch Queue的优先级该方法可用于变更自己创建的Dispatch Queue的优先级。dispatch_queue_t myDispatchQueue = dispatch_queue_create("com.faterman.gcd_demo.myDispatchQueue", NULL); dispatch_queue_t globalDisp原创 2015-03-17 14:39:15 · 691 阅读 · 0 评论 -
iOS开发之GCD(3)Main Dispatch Queue/Global Dispatch Queue
上一篇提到了如何创建dispatch queue,这篇记录一下如何获取系统标准提供的dispatch queue。系统提供的Dispahch queue包括 Main Dispatch Queue和Global Dispatch QueueMain Dispatch Queue:这是在主线程中执行的Dispatch Queue,是一个Serial Dispatch Queue。追加到这原创 2015-03-17 13:54:48 · 788 阅读 · 0 评论 -
iOS开发之GCD(2)API Dispatch Queue
生成dispatch queue的API:(1)生成Serial Dispatch Queue(一个线程,追加的任务按照追加顺序一次执行) dispatch_queue_t mySerialDispatchQueue = dispatch_queue_create("com.faterman.gcd_demo_mySerialDispatchQueue", NULL);原创 2015-03-17 11:29:31 · 470 阅读 · 0 评论 -
iOS开发之GCD(1)初探
概念:GCD即Grand Central Dispatch,它是异步执行任务的技术之一。一般将应用程序中技术的线程管理用的代码在系统层级上实现。开发者只需要将定义好的任务追加到dispatch queue中,GCD就能生成必要的线程并按计划执行任务。由于线程管理是作为系统的一部分来实现的,因此可以统一管理,也可执行任务,相较于以前的多线程管理更加有效率。实例: d原创 2015-03-17 11:10:59 · 503 阅读 · 0 评论 -
iOS开发之Block(4)
(1)块总能修改实例变量之前的文章中写了块可以截获当前环境中的局部变量,如果想要修改就要使用 __block 说明符。但是针对类实例方法中的块,可以直接修改实例变量。Worker.h#import @interface Worker : NSObject{ NSString * _wId;}-(id)initWihtId:(NSString *)wId;-(v原创 2015-03-28 08:03:29 · 545 阅读 · 0 评论 -
iOS开发之Block(1)
概念:原创 2014-06-21 15:30:30 · 541 阅读 · 0 评论 -
iOS开发之Block(2)
block 截获局部变量的值首先看一个l原创 2014-06-21 15:57:51 · 1135 阅读 · 0 评论 -
iOS开发之对象的生命周期
对象生命周期(Object life cycle)原创 2014-06-16 14:15:22 · 2656 阅读 · 0 评论 -
iOS开发之Block(3)
tips:-rewrite-objc 选项将源代码编译为原创 2014-06-26 11:19:27 · 514 阅读 · 0 评论 -
iOS开发之Cocoa是什么
原文地址:http://blog.csdn.net/wzzvictory/article/details/8630828某次上班路上,同事问我:什么是Cocoa?当时楞了一下,对呀,什么是Cocoa?做了将近一年的iPhone应用开发,成天跟它打交道,竟然还不知道这是个什么东西。。。一、什么是Cocoa①Cocoa的来源早些年,苹果公司启动了Coplan转载 2014-03-25 15:31:35 · 1334 阅读 · 0 评论 -
iOS开发之多线程编程 (2)
上篇纪录了NSThread进行多线程编程的使用方法和注意事项。这次看一下,NSOperation和NSOperationQueue。平时使用NSOperation可以通过两种方式:(1)使用系统提供的NSInvocationOperation和NSBlockOperation。(2)继承NSOperaion并override它的main方法。(这个类概念上是一个abstract的)。之原创 2015-03-29 07:44:33 · 572 阅读 · 0 评论