OC知识点

1.@autoreleasepool  

     why1

2.retain

        O-C内存管理和点语法
1>OC内存管理正常情况要使用大量的retain和relrese操作
2>点语法可以减少使用retain和release的操作 

3.Runloop

4.@property(retain)编译器如何申明

编译器对于@property中的retain展开是不一样的
主要是要释放上一次的值,增加本次计数器
在dog.h中声明的:
@property(retain)Dog *dog;
展开后为:
-(void) setDog:(Dog *)aDog;
-(Dog *)dog;

5.@synthesize编译器如何实现展开

在dog.m中实现:
@synthesize dog=_dog;
展开后为:
-(void) setDog:(Dog *)aDog{
if(_dog!=aDog){
[_dog release];
_dog=[aDog retain];
}
}
-(Dog *)dog{
return _dog;
}

6.dealloc需要注意内容

dealloc必须要释放dog(retain)
在dog.m中
-(void) dealloc
{
self.dog=nil;
[super dealloc];
}

7.copy属性的主要作用

copy属性是完全把对象重新拷贝了一份,计数器从新设置为1,和之前拷贝的数据完全脱离关系。
@property(copy) NSString* str;
//表示属性的getter函数
-(double) str
{
return str;
}
//表示属性的setter函数
-(void) setStr:(NSString *)newStr
{
str=[newStr copy];
}

8.assign,retain,copy

1、foo=value;//简单的引用赋值
2、foo=[value retain];//引用赋值,并且增加value的计数器
3、foo=[value copy];//将value复制了一份给foo,复制后,foo和value就毫无关系

9.Foundation框架

(学习Objective-C必备知识)

10.IOS开发中需要注意的一些问题

11.Xcode6-beta3版本新建项目中没有foundation

12.切图常说的@1X@2X@3X是什么意思?

posted on 2016-05-19 07:37  洛易  阅读(147)  评论(0编辑  收藏  举报