oc是一门全动态语言,oc的一切都是基于runtime实现的。
为了能正确理解runtime,我们首先来由其他的语言引出动态的oc。
1.传统的面相过程的语言开发,例如c语言,编译器做到的是:把一份代码里的函数名称,转化为一个相对的内存地址,把调用这个函数的语句转换成一个jmp跳转指令,在...
分类:
其他好文 时间:
2014-06-07 03:48:20
阅读次数:
1000
IOS设备的内存很有限,所以在OC中内存管理至关重要,虽然现在有ARC机制(自动管理内存),但是我们还是需要了解和清楚OC的内存管理。非OC对象是不需要进行内存管理的,因为非OC对象一般放在栈里面(栈内存会被系统自动回收),OC对象是放在堆里面的。1.oc中对象创建Person
*p = [Pers...
分类:
其他好文 时间:
2014-05-30 06:50:10
阅读次数:
327
系统对象的归档我就不介绍了,这个不复杂,自己看一下就会了。我在这里主要介绍自定义对象的归档。Sample.h文件 9 #import 10 11
@interface Sample : NSObject {12 13 NSString* name;14 int magicNu...
分类:
移动开发 时间:
2014-05-29 00:33:24
阅读次数:
407
//1.对象在完成创建的同时,内部会自动创建一个引用计数器,这个计数器,是系统用来判断是否回收对象的唯一依据,当我们的引用计数retainCount
= 0的时候,系统会毫不犹豫回收当前对象//2.[对象 release] reatinCount - 1//3.[对象 retain] reatin....
分类:
其他好文 时间:
2014-05-28 18:43:14
阅读次数:
258
oc协议在Object-C中,委托和数据源都是由协议实现的。协议定义了一个类与另一个类进行沟通的先验方式。它们包含一个方法列表,有些是必须被实现的,有些是可选的。任何实现了必需方法的类都被认为符合协议。协议,是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。两个类进行通讯,用协议就比较方便...
分类:
其他好文 时间:
2014-05-28 16:34:01
阅读次数:
217
1 分类就是类的补充和扩展,本质上是类的一部分,把一个类分成若干部分,每个部分就是分类。2 语法*
文件中的语法@interface 主类类名(分类类名)* 文件名通常为:主类名+分类名* 调用方法时,只需要向主类引用放送消息即可3 使用分类的方式*
可以给一个类增加功能(增加方法)* 将类分成若干...
分类:
其他好文 时间:
2014-05-28 16:08:57
阅读次数:
191
oc中单例模式可以使用以下方法来实现+ (YourClass *)sharedInstance{
static dispatch_once_t once; static YourClass *sharedInstance = nil;
dispatch_once(&once, ^ ...
分类:
其他好文 时间:
2014-05-28 03:11:58
阅读次数:
168
今天,在坊间听到有人在争论OC中关于NSString的深浅复制,听了下,感觉很有必要来一个分析总结,让我们从底层去了解OC中深浅复制的运作机制.
所谓copy就是在原有对象的基础上产生一个副本对象,遵循最关键的两点原则: 1. 改变原对象的属性和行为不会对副本对象产生任何影响 2. 改变副...
分类:
其他好文 时间:
2014-05-26 20:11:38
阅读次数:
232
1.
IBAction的参数========================================- (IBAction)left:(UIButton
*)button1> 在OC中,绝大多数的控件监听方法的第一个参数就是控件本身2> 默认连线时的参数类型是id3>
如果要在监听方法中,方...
分类:
移动开发 时间:
2014-05-26 20:08:54
阅读次数:
323
tar负责打包,gzip负责压缩tar-c:
建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有b...
分类:
系统相关 时间:
2014-05-26 18:38:15
阅读次数:
331