iOS 块的简单理解】的更多相关文章

占位 自己主动转载器那小子,你转完了没? 转完了,我开写了哈! Block,就两个事儿,一个是引用,一个是实例,除了实现处.其他地方都是引用. 以此思路.再继续看看引用和实现的定义方式吧. 參考官方文档. 后补 ========== 近期在忙一件大事,好事有结果了.而确没有明白结果. 今天又用到 block 构建复用架构.发现短短的一两周时间.就有点忘记 block 的使用方法了. 看来真得整理一下了. ========== 引用 和 实现 引用即名称.返回类型是要有的 实现能够没有,它的内部返…
一. RunLoop简介 RunLoop字面意思是运行时,即跑圈得意思.它可以在我们需要的时候自己跑起来运行,在我们没有操作的时候就停下来休息,充分节省CPU资源,提高程序性能. 二. RunLoop基本作用: 保持程序持续运行,程序一启动就会开一个主线程,主线程一开起来就会跑一个主线程对应的RunLoop,RunLoop保证主线程不会被销毁,也就保证了程序的持续运行 处理App中的各种事件(比如:触摸事件,定时器事件,Selector事件等) 节省CPU资源,提高程序性能,程序运行起来时,当什…
ios9引入了一个新功能,On-Demand Resources,它是app thinning 的一部分.这个机能简单的说,就是在下载app的时候,app中包含的不重要资源不下载,等到需要时,在由系统向苹果的server发送请求,下载这些资源包. 官方连接如下: https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/index.html#/…
最近学习了下NSRunloop. 作一下简单的理解: 1.runloop与线程的关系,每一个线程创建是都会有伴有一个runloop诞生,runloop用来接收事件源,让线程执行事件.当没有事件处理时,runloop处于退出状态,线程休眠.其中的事件源主要包括两大类,timer事件和inpute事件.inpute事件包括很多类型:performxxx,nsurlconnection,port,touch事件等. (主线程创建的runloop不会停掉,会一直跑,有可能是空跑,但是一直在跑.其他线程的…
要用到多线程 ,就不得不考虑,线程之间的交互,线程是否安全 推荐一个原文链接 是关于 线程锁的基本使用的  http://blog.csdn.net/qq_30513483/article/details/52349968这篇博客,也主要引用 这个链接的内容 4.1   OSSpinLock 自旋锁 : 线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁. spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlo…
通过对前面两偏线程理解的总结,自己对线程的理解也逐渐加深,梳理的清晰起来…… 通常在使用线程 的时候,都是要用到 执行对列,执行方式,执行任务, 现在开始新一轮的深入 3. 1. 1  同步 + 串行 - (void)syncSerialQueue{ dispatch_queue_t queue = dispatch_queue_create("test", DISPATCH_QUEUE_SERIAL); NSLog(@" 同步 + 串行 start:::%@ ",…
多线程队列是装载线程任务的队形结构.(系统以先进先出的方式调度队列中的任务执行 FIFO).在GCD中有两种队列: 串行队列.并发队列. 队列 :串行队列.并发队列,全局主对列,全局并发队列 2.1.  串行队列:线程只能依次有序的执行. 2.1.1 串行方法 1 - (void)SerialQueueOne{ NSLog(@"串行1 start :::%@",[NSThread currentThread]); dispatch_queue_t queue = dispatch_qu…
最近遇到特别糟糕的面试,过程中提到多次对多线程的处理问题,并没有很好的给予答复和解决,所以在这里做个简单的备案: 期望能更加了解和熟练使用 多线程技术: 下面都是自己的总结,如果存在不对的,或者不足,请给予指正…… 1. 多线程基本概念:方式 -> 同步 + 异步 1.1 同步 :  队列任务 在当前线程,按照添加先后顺序执行,不开辟新的线程: 1.1.1   同步方法 1 - (void)syncOne{ NSLog(@"**************同步1 start *********…
我们首先来简单叙述一下什么是.NET,以及C#的一个简单理解和他们俩的一个区别. 1 .NET概述 .NET是Microsoft.NET的简称,是基于Windows平台的一种技术.它包含了能在.NET Framework平台运行的所有编程语言. 2 C#概述 他是专门为.NET平台设计的一种语言. 3 .NET与C#的区别 .NET是一种平台,这种平台可以编译多种语言例如:VB,J#,而C#只是一种语言. 4 IDE IDE全称(Itergrated Developer Environment)…
先简单介绍一下什么是沙盒:你可以简单理解成为一个目录,这个目录的改动不会对操作系统造成任何损失.(这里也有一点点介绍) 看看苹果的沙盒目录: 再附一张苹果官方的图 一个iOS app操作都是在自己的沙盒中进行的. 首先: Deveices,里面是各种的模拟器设备. 然后随便找一个模拟器设备.里面的data是里面的数据.然后Container里面Data中有一个Application就是该设备的安装软件. 我们可以看到里面有好多个(就算我们Reset Content and Settings,也会…