OC知识点

Posted 洛易

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是什么意思?

以上是关于OC知识点的主要内容,如果未能解决你的问题,请参考以下文章

OC知识点

OC学习之知识储备篇

oc知识点 内存高级

C和OC的基础语法(易混淆的概念知识)

oc知识点 初始化方法

oc知识点 类和对象