摘要:
假设MyObject类中有两个方法,一个类方法sayHello,一个实例方法walk,分别为 + (void)sayHello; -(void)walk; 调用方式如下: -(void)doSomething { [MyObject sayHello]; [self walk]; } 编成c++代码
阅读全文
posted @ 2020-04-25 00:39
ximenchuixie
阅读(337)
推荐(0)
摘要:
区别:举个例子,同样是把一个大文件读到内存中,采用内存映射文件的话,我们在写这个文件的时候其实是直接写硬盘上的文件,而虚拟内存的话其实对于用户来说是透明的,本质上还是把这个文件先读到内存中,然后在内存里改这个文件,改完后再写回到原始文件中。 可以理解为:在默认情况下读写文件时文件都会从硬盘加载到物理
阅读全文
posted @ 2020-04-01 12:46
ximenchuixie
阅读(449)
推荐(0)
摘要:
编译器自动插入retain、release、autorelease操作 插入的时候直接调的C语言的方法,而不是发消息 会对插入的retain、release操作做优化,去除不必要的retain、release 另外,当一个类有强引用的实例变量时,ARC会自动生成cxx_destruct方法,在这个方
阅读全文
posted @ 2020-03-25 10:43
ximenchuixie
阅读(481)
推荐(0)
摘要:
当发给某个对象的消息在类对象以及所有的父类的方法列表中都找不到时,启用消息转发机制,有三个机会可以处理: 1.方法的动态解析(给未识别的sel动态加一个IMP实现) 即重写resolveInstanceMethod:(SEL)sel( 或 resolveClassMethod,针对类方法) 在这个方
阅读全文
posted @ 2020-03-04 19:27
ximenchuixie
阅读(367)
推荐(0)
摘要:
其实==就是判断两个变量里的值是否相等,OC中也就是判断两个变量中的指针的值是否相等,抽象地理解就是判断两个指针是否指向同一个对象。 当对象的isEqual方法不被重写时,==与isEqual等价,也就是如果两个指针相等,那么它们就指向同一个对象。 如果isEqual方法被重写了,那么这时候==与i
阅读全文
posted @ 2020-03-04 12:05
ximenchuixie
阅读(364)
推荐(0)
摘要:
解决方法:工具栏 proxy ->macOS proxy
阅读全文
posted @ 2020-02-27 15:32
ximenchuixie
阅读(222)
推荐(0)
摘要:
a[m][n],表示m个长度为n的一维数组。 a[3][4],表示3个长度为4的一维数组。 c++ vector类似 如 vector<vector<int>> a(3, vector<int>(4, 0)), 表示3个长度为4的一维数组
阅读全文
posted @ 2020-02-21 18:21
ximenchuixie
阅读(121)
推荐(0)
摘要:
两步:1. 修改主目录 2. 同步原始目录的数据 rsync -avr a/ b/
阅读全文
posted @ 2020-01-16 13:47
ximenchuixie
阅读(165)
推荐(0)
摘要:
ARC代码: NSObject *p = [NSObject new]; 编译完的MRC代码: NSObject *temp = [NSObject new]; p = [temp retain]; [temp release]; ARC代码: __weak NSObject *p = [NSObj
阅读全文
posted @ 2020-01-07 23:26
ximenchuixie
阅读(129)
推荐(0)
摘要:
<!--StartFragment-->一般通过函数返回值返回的对象都是autorelease对象(包括直接通过返回值返回的和通过指针的指针返回的),MRC下需要自己retain这个对象。autorelease的对象会在当前autoreleasepool进行drain操作的时候被发送release消
阅读全文
posted @ 2020-01-07 23:25
ximenchuixie
阅读(257)
推荐(0)