美文网首页不懂的知识点
iOS面试题:简述 OC 中内存管理机制。与 retain 配对

iOS面试题:简述 OC 中内存管理机制。与 retain 配对

作者: iOS猿_员 | 来源:发表于2019-01-27 15:25 被阅读569次

原文:iOS面试题大全

OC 使用了一种叫做引用计数的机制来管理对象,如果对一个对象使
用了 alloc、[Mutable]copy,retain,那么你必须使用相应的 realease
或者 autorelease。也可以理解为自己生成的对象,自己持有。非自
己生成的对象,自己也能持有。不在需要自己持有的对象时释放。非
自 己 持 有 的 对 象 无 法 释 放 。 生 成 并 持 有 对 象
<alloc,new,copy,mutableCopy 等>,持有对象<retain>,释放对象
<release>,废弃对象<dealloc>。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[[_valueretain]autorelease];
}
}
-(void)setValue:(NSString*)aValue{
@synchronized(self){
[aValueretain];
[_valuerelease];
_value=aValue;
}
}

相关文章

  • iOS面试题(1)

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

  • 转载别人整理

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

  • 内存管理

    内存管理 简述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面试题:简述 OC 中内存管理机制。与 retain 配对

    原文:iOS面试题大全 OC 使用了一种叫做引用计数的机制来管理对象,如果对一个对象使用了 alloc、[Muta...

网友评论

    本文标题:iOS面试题:简述 OC 中内存管理机制。与 retain 配对

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