美文网首页iOS面试
iOS 内存管理面试题(在 MRC 下如何重写属性的 Sette

iOS 内存管理面试题(在 MRC 下如何重写属性的 Sette

作者: 程序员_秃头怪 | 来源:发表于2019-08-07 15:26 被阅读13次

MRC 下如何重写属性的 SetterGetter?

setter
-(void)setBrand:(NSString *)brand{
//如果实例变量指向的地址和参数指向的地址不同
    if (_brand != brand)
    {
        //将实例变量的引用计数减一
        [_brand release];
       //将参数变量的引用计数加一,并赋值给实例变量
        _brand = [brand retain];
    }
}
getter
-(NSString *)brand{
    //将实例变量的引用计数加1后,添加自动减1
    //作用,保证调用getter方法取值时可以取到值的同时在完全不需要使用后释放
    return [[_brand retain] autorelease];
}
重写dealloc
//MRC下 手动释放内存 可重写dealloc但不要调用dealloc  会崩溃
-(void)dealloc{
    [_string release];
    //必须最后调用super dealloc
    [super  dealloc];
}

热文推荐

2019 全网 iOS 面试题以及答案总结!

相关文章

  • iOS 内存管理面试题(在 MRC 下如何重写属性的 Sette

    在 MRC 下如何重写属性的 Setter 和 Getter? setter getter 重写dealloc 热...

  • iOS MRC 内存管理的基本原则

    iOS MRC 内存管理的基本原则iOS MRC 内存管理的基本原则

  • 最新版本iOS内存管理

    IOS 内存管理 1.MRC(人工引用计数),手动管理内存。 MRC模式下,所有的对象都需要手动的添加retain...

  • OC中内存管理

    在OC中内存管理MRC手动内存管理和ARC自动内存管理,ARC是从iOS 4.0开始,在iOS 4.0之前...

  • iOS经典面试题总结--内存管理

    iOS经典面试题总结--内存管理 iOS经典面试题总结--内存管理

  • iOS 属性修饰符

    iOS属性问题 属性修饰符的作用 iOS5之前是MRC, 内存需要程序员管理,iOS之后是ARC,除非特殊情况(例...

  • Finding - 夯实iOS基础一

    iOS内存管理 在Objective-C中有两套内存管理策略,MRC(Mannul Reference Count...

  • ios循环引用

    首先,研究ios循环引用,离不开怎么使用strong和weak类型的引用和mrc下内存管理和arc下的内存管理。a...

  • 内存管理

    OC知识--彻底理解内存管理(MRC、ARC) IOS工程中混合使用ARC与MRC iOS 简单而粗暴的说一说内存...

  • iOS 内存管理

    iOS 无论是在MRC 还是ARC情况下 OC 都是用引用计数来管理内存! 内存管理的原则是: 谁创建 谁来释放 ...

网友评论

    本文标题:iOS 内存管理面试题(在 MRC 下如何重写属性的 Sette

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