摘要:
1、autorelease的应用场景 经常用来在类方法中快速创建1个对象。 // 声明实现一个类方法 + (Student *)student { // 在里面直接进行autorelease return [[[Student alloc] init] autorelease]; } 应用: // 在自动释放池中使用类方法创建对象 @autoreleasepool{ // 此时创建出来... 阅读全文
posted @ 2016-03-24 15:20
无天666
阅读(569)
评论(0)
推荐(0)
摘要:
1、autorelease使用注意 1)并不是放到自动释放池中,都会自动加入到自动释放池 1.1) 因为没有调用autorelease方法,所以对象没有加入到自动释放池. int main(){ @autoreleasepool{ Student *s = [[Student alloc] init]; [s release]; // 正常释放 } return 0; } 1... 阅读全文
posted @ 2016-03-24 15:06
无天666
阅读(238)
评论(0)
推荐(0)
摘要:
自动释放池的嵌套使用: 阅读全文
posted @ 2016-03-24 13:20
无天666
阅读(169)
评论(0)
推荐(0)
摘要:
2个对象互相有着引用,A中有B,B中有A。 // 对于循环retain的情况,对象不能够释放,此时只能让一方使用assign一方使用retain,retain用于对象assign用于基本类型,assign时对cat的引用不会使cat对象计数器加1 阅读全文
posted @ 2016-03-24 11:23
无天666
阅读(197)
评论(0)
推荐(0)
摘要:
Goods.h Good.m main.m 阅读全文
posted @ 2016-03-24 10:54
无天666
阅读(244)
评论(0)
推荐(0)
摘要:
Gamer.h Gamer.m House.h Huose.m main.m 阅读全文
posted @ 2016-03-24 10:44
无天666
阅读(301)
评论(0)
推荐(0)
摘要:
/** 操作引用计数器的方式:每个对象内部(对象的堆内存里面)都有一个引用计数器变量,表示对象被引用的次数。 1:retainCount:获得对象的引用计数器的值 2:retain:能够让对象的计数器值变量+1,要想计数器变量加1就要调用对象的retain方法 3:release:让对象的计数器变量值 - 1,要想计数器变量减1就要调用对象的release方法 怎么判断对象被释放?... 阅读全文
posted @ 2016-03-24 10:37
无天666
阅读(313)
评论(0)
推荐(0)
摘要:
/** 数组长度不固定,可以随便往里面添加或者删除元素。 1.创建数组 NSMutableArray *arrayM = [NSMutableArray array] 2.给数组添加元素(只能是OC对象) - (void)addObject:(id)anObject; 3.如何删除数组元素 */ #import int main(int argc, const ch... 阅读全文
posted @ 2016-03-24 10:34
无天666
阅读(291)
评论(0)
推荐(0)
摘要:
Dog.h #import @interface Dog : NSObject { NSString *_name; int _age; char *cc; } @end Dog.m #import "Dog.h" @implementation Dog // 谁调用Self所在的方法,self就指向谁,self就是谁. - (instancetype)init... 阅读全文
posted @ 2016-03-24 10:29
无天666
阅读(529)
评论(0)
推荐(0)
摘要:
//01加强-10 @property 4.4前 1) @property + 手动实现 2) @property int age; + @synthesize age;//get和set方法的声明和实现都帮我们做了 3) @property int age + @synthesizes age = _b; @property 4.4增强 .h @property int age; 1)... 阅读全文
posted @ 2016-03-24 09:50
无天666
阅读(306)
评论(0)
推荐(0)