- 博客(12)
- 资源 (6)
- 收藏
- 关注
原创 objective c设计模式--KVO
KVOKVO的介绍通常用于多个对象之间的通信,在一个对象中感知另一个对象的属性的变化。建立连接,注册监听对象:- (void) addObserver:(NSObject *) forKeyPath:(NSString *) options:(NSKeyValueObservingOptions) context:(void *);回调函数:}-(void) observe
2014-09-27 08:39:11 785
原创 objective c 中的Blocks语法
Blocks语法Blocks是一个C Level的语法,以及一个运行时的特性,和标准C中的函数指针类似。Blocks的声明:int (^ Bfun) (int a)相比的函数指针:int (* Cfun) (int a)Blocks的调用:int (^ Bfun) (int a);int inter = Bfun (100);函数指针的调用:int (* C
2014-09-19 22:37:10 661
原创 objective c设计模式--通知中心
通知中心通知中心就是让任意一个消息的发送者可以将消息发送给任意一个消息的接收者。创建通知中心:通知中心是个单例,NSNotificationCenter*center = [NSNotificationCenterdefaultCenter];通知中心要发送消息,消息也是对象,消息的类型:@interfaceNSNotification :NSObject
2014-09-19 20:34:59 1073
转载 C和C++中得结构体
C/C++语言中的解释结构体定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。结构体作用 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成你想要的数据类型。以方便日后的使用。 在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。 结构体在函数中的作用
2014-09-18 23:32:27 846
转载 关于C++模板的链接错误问题
好久不用C++了,前几天写了一个模版,按以前的习惯,把定义写在头文件中, 把实现写在cpp文件中。结果在编译的时候没有发生错误,但在连接的时候出现了找不到xxx的错误。一时之间不知道该怎么办才好,后来上网一查,自己再一想,唉,原来如此: 模版之所以为模版,就是可以容纳不同的类型嘛,所以它只有在指定了其类型的时候才会生成实际的代码,如果你只把模版的定义写在头文件中,那么你生成在使用模
2014-09-15 22:48:56 1894
原创 objective c单例设计模式
单例设计模式什么是单例?其实就是C中的全局变量,在整个生命周期中,该对象只有一份存在内存中,可以在多个对象之间共享数据。典型的单例写法:static id sharedMyManager;+ (id) sharedThemeManager{ if (sharedMyManager == nil) { sharedMyMa
2014-09-13 11:45:14 755
转载 C++模板
12.1 C++高级编程之模板简介C++模板机制的出现增强了软件可重用性,反应到具体的应用程序中最简单的表现是程序代码实现同一功能性操作只需要定义实现一次,就可以处理不同类型的数据。C++中模板机制最直接表现形式为通用函数以及通用类的定义实现。在通用函数与通用类的定义中,可以通过将函数处理以及类操作处理的不同数据类型定义为一个模板参数。因此通过这样一种实现机制,通用函数与通用类将会用于实
2014-09-12 22:19:56 636
转载 动态数组
C++定义动态数组首先:为什么需要动态定义数组呢? 这是因为,很多情况下,在预编译过程阶段,数组的长度是不能预先知道的,必须在程序运行时动态的给出 但是问题是,c++要求定义数组时,必须明确给定数组的大小,要不然编译通不过 如: int Array[5];正确 int i=5; int Array[i]; 错误 因为在编
2014-09-10 22:38:50 580
原创 内存管理(3)
自动释放池自动释放池是OC的一种内存自动回收机制,可以将一些临时变量通过自动释放池来统一回收释放。当自动释放池销毁的时候,池子里面的所有对象都进行release操作。任何OC对象只要调用autorelease方法,就会把该对象放到离自己最近的释放池中(栈顶的释放池)。创建自动释放池@autoreleasepool{
2014-09-08 23:44:41 460
原创 内存管理(2)
内存管理和点语法OC内存管理需要使用大量的retain和release操作,点语法可以减少retain和release操作。编译器对于retain的展开,以遛狗原理为例@property 展开 (retain属性)@property (retain)Dog *dog;展开仍然为:- (void) setDog: (Dog *) aDog;- (Dog *) dog;
2014-09-08 23:43:06 467
原创 内存管理(1)
内存管理黄金法则:The basic to apply to everything that increases the reference counter with alloc ,[mutable]copy[WithZone:] or retain is in charge of the corresponding [auto]release.如果对一个对象使用了alloc,[mu
2014-09-08 23:41:09 494
转载 理解objective c的ARC
转自:http://www.oschina.net/translate/objc-automatic-reference-counting-in-xcode-explained
2014-09-08 23:17:12 554
C++单例设计模式
2014-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人