美文网首页
简述OC中内存管理机制。与retain配对使用的方法是deall

简述OC中内存管理机制。与retain配对使用的方法是deall

作者: 丶逐渐 | 来源:发表于2016-02-25 00:05 被阅读558次

OC使用了一种叫做引用计数的机制来管理对象,如果对一个对象使用了alloc、[Mutable]copy,retain,那么你必须使用相应的realease或者autorelease。也可以理解为自己生成的对象,自己持有。非自己生成的对象,自己也能持有。不在需要自己持有的对象时释放。非自己持有的对象无法释放。生成并持有对象,持有对象,释放对象,废弃对象。readwrite(默认):可读可写,表示既有getter方法,也有setter方法。readonly:表示只有getter方法,没有setter方法。nonatomic:不考虑线程安全。atomic(默认):线程操作安全。strong(默认):ARC下和MRC下retain一样,weak(ARC下):和(MRC下)assign类似,区别是当weak指向的内存释放掉后自动置为nil,防止野指针。

unsafe_unretained声明一个若引用,但不会自动置为nil,可能会出现野指针。

线程安全下的setter和getter方法:

-(NSString *)value{

@synchronized(self){

return [[_value retain] autorelease];

}

}

-(void)setValue:(NSString *)aValue{

@synchronized(self){

[aValue retain];

[_value release];

_value = aValue;

}

}

相关文章

  • 内存管理

    内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...

  • 面试题(1)[内存,线程]

    简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配...

  • 简述OC中内存管理机制

    简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配...

  • iOS面试题-酷狗面试

    简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与alloc配...

  • IOS面试(基础问题)

    1、简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与allo...

  • iOS面试题汇总

    1.简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与allo...

  • iOS_2016最新版面试题(附答案)

    每天四道题,让精彩填满生活... 1、简述OC中内存管理机制。与retain配对使用的方法是dealloc还是re...

  • iOS面试题(1)

    iOS面试题整理带答案: 1.简述OC中内存管理机制。与retain配对使用的方法是dealloc还是releas...

  • 转载别人整理

    iOS面试题整理带答案 1 1.简述OC中内存管理机制。与retain配对使用的方法是dealloc还是relea...

  • 简述OC中内存管理机制。与retain配对使用的方法是deall

    OC使用了一种叫做引用计数的机制来管理对象,如果对一个对象使用了alloc、[Mutable]copy,retai...

网友评论

      本文标题:简述OC中内存管理机制。与retain配对使用的方法是deall

      本文链接:https://www.haomeiwen.com/subject/aazmhttx.html