-
协议 protocol
摘要:协议声明类需要实现的的方法,为不同的类提供公用方法,一个类可以有多个协议,但只能有一个父类,即单继承。它类似java中的接口。正式协议(formal protocol) 声明正式协议使用@protocol指令,以@end结尾。@protocol MyXMLSupport- initFromXMLRe
阅读全文
-
iOS中四种实例变量的范围类型@private@protected@public@package
摘要:文档上记录是这样的 The Scope of Instance Variables Toenforce the ability of an object to hide its data, the compilerlimits the scope of instance variables—that
阅读全文
-
kvo
摘要:一、概述 KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合
阅读全文
-
NSNotificationCenter
摘要:一个NSNotificationCenter对象(通知中心)提供了在程序中广播消息的机制,它实质上就是一个通知分发表。这个分发表负责维护为各个通知注册的观察者,并在通知到达时,去查找相应的观察者,将通知转发给他们进行处理。 本文主要了整理了一下NSNotificationCenter的使用及需要注意
阅读全文
-
ios 内存管理与property copy strong weak assign
摘要:- (void)fun{ NSString* str = [[NSString alloc] initWithString:@"string"]; NSLog(@"%d", [str retainCount]);}可以看到 str的计数器为-1而把initWithString换成initWithFo
阅读全文
-
new和alloc init
摘要:[className new]基本等同于[[className alloc] init]. 区别只在于alloc分配内存的时候使用了zone,它在给对象分配内存的时候,把关联的对象分配到一个相邻的内存区域内,以便于调用时消耗很少的代价,提升了程序处理速度.
阅读全文
-
iOS中堆和栈的区别
摘要:管理方式: 对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来讲,释放工作有程序员控制,容易产生memory Leak。 申请大小: 栈:在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存区域。这句话的意思是栈顶上的地址和栈的最大容量是系统预先规定好的,在Windows下,栈的
阅读全文
-
概念
摘要:Attribute和Property都可以翻译成“属性”,有的地方用Attribute表示“属性”,有的地方又在用Property,初 学者常常在这两个单词间“迷失”,甚至认为二者没有区别,是一样的。可是Attribute不等于Property。二者之间到底有何区别? 我们从OOA/OOD(Obje
阅读全文
|