- 博客(12)
- 资源 (13)
- 收藏
- 关注
转载 RuntimeSummary
目录 消息机制介绍 / Messaging 方法交换 / MethodSwizzling 动态加载方法 / ResolveInstanceMethod 消息转发 / ForwardMessage 动态关联属性 / AssociatedObject 字典转模型 / MakeModel 对象归档、解档 / ObjectArchive 消息机制介绍 / Messa
2017-02-19 22:22:32 515
转载 runtime详解
转:http://www.jianshu.com/p/46dd81402f63 一:基本概念 Runtime基本是用C和汇编写的,可见苹果为了动态系统的高效而作出的努力。你可以在这里下到苹果维护的开源代码。苹果和GNU各自维护一个开源的runtime版本,这两个版本之间都在努力的保持一致。Objective-C 从三种不同的层级上与 Runtime 系统进行交互,分别是通过 Obj
2017-02-19 22:12:12 370
转载 FMDB - 官方使用文档
来自会员pengtao的分享:(原文:https://github.com/ccgus/fmdb) 由于FMDB是建立在SQLite的之上的,所以你至少也该把这篇文章从头到尾读一遍。与此同时,把SQLite的文档页 加到你的书签中。自动引用计数(APC)还是手动内存管理呢? 两种都行,FMDB会在编译的时候知道你是用的哪一种,然后进行相应处理。 使用
2017-02-18 13:38:29 429
转载 iOS 数据库-SQLite3 CoreData FMDB
在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库。例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档、plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录。当然,文件存储并不作为本文的重点内容
2017-02-17 18:26:15 526
原创 iOS 用队列实现读写线程安全
读写操作时,为了提高效率,应该允许同时多个线程读操作,并且只有一个线程写操作。 为了实现上面功能,将读和写分发到相同并发队列中,这样读操作会是并发的;而写操作,以 dispatch barrier 来保证同时只有一个线程可以执行写操作,并且由于写操作无需返回,写操作异步执行。 代码如下: dispatch_queue_t syncQueue = dispatch_get_globa
2017-02-14 23:14:49 3084 1
转载 Core Data入门
简介 Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的hibernate持久化框架,不过功能肯定是没有Hibernate强大的。简单地用下图描述下它的作用:
2017-02-14 20:55:53 229
转载 iOS 并行编程:GCD Dispatch Sources
1 简介 dispatch source是一种用于处理事件的数据类型,这些被处理的事件为操作系统中的底层级别。Grand Central Dispatch(GCD)支持如下的dispatch sources类型: Timer dispatch sources:定时器类型,能够产生周期性的通知事件; Signal dispatch sources:信号类型,当
2017-02-09 17:06:33 424
转载 GCD入门(四): 完结
Dispatch Queue挂起 dispatch queue可以被挂起和恢复。使用 dispatch_suspend函数来挂起,使用 dispatch_resume 函数来恢复。这两个函数的行为是如你所愿的。另外,这两个函数也可以用于dispatch source。 一个要注意的地方是,dispatch queue的挂起是block粒度的。换句话说,挂起一个queue并不会
2017-02-09 16:15:50 242
转载 GCD入门(三): Dispatch Sources
何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象。当这些事件发生时,它自动将一个block放入一个dispatch queue的执行例程中。 说的貌似有点不清不楚。我们到底讨论哪些事件类型? 下面是GCD 10.6.0版本支持的事件: Mach port send right state changes. Ma
2017-02-09 16:15:06 208
转载 GCD入门(二): 多核心的性能
概念 为了在单一进程中充分发挥多核的优势,我们有必要使用多线程技术(我们没必要去提多进程,这玩意儿和GCD没关系)。在低层,GCD全局dispatch queue仅仅是工作线程池的抽象。这些队列中的Block一旦可用,就会被dispatch到工作线程中。提交至用户队列的Block最终也会通过全局队列进入相同的工作线程池(除非你的用户队列的目标是主线程,但是为了提高运行速度,我们绝不会这么干)
2017-02-09 16:14:35 227
转载 GCD入门(一): 基本概念和Dispatch Queue
什么是GCD? Grand Central Dispatch或者GCD,是一套低层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都允许程序将任务切分为多个单一任务然后提交至工作队列来并发地或者串行地执行。GCD比之NSOpertionQueue更底层更高效,并且它不是Cocoa框架的一部分。 除了代码的平行执行能力,GC
2017-02-09 16:06:57 202
转载 多线程 - NSOperationQueue
一、简介 一个NSOperation对象可以通过调用start方法来执行任务,默认是同步执行的。也可以将NSOperation添加到一个NSOperationQueue(操作队列)中去执行,而且是异步执行的。 创建一个操作队列: [java] view plain copy NSOperationQueue *queue = [[NS
2017-02-06 12:36:56 273
C++ Primer 第5版
2020-11-18
深入理解C++11:C++11新特性解析与应用
2020-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人