美文网首页iOS Developer
内存管理与属性(mrc)

内存管理与属性(mrc)

作者: 雪儿的小木屋 | 来源:发表于2016-08-06 00:04 被阅读177次

在MRC下

@property (nonmatic,strong)NSArray *currentArray;

- (void)viewDidLoad

{

    [super viewDidLoad];

    self.currentArray = [NSArray new];

}

- (void)dealloc

{

    [_currentArray release];

   [super dealloc];

}

这样会导致内存泄露,因为创建array 的时候,retaincount是1,赋值给属性(setter)方法的时候,retaincount 值增加1。而在dealloc的时候,只是释放了一次,所以会导致内存泄露。修改如下,self.currentArray = [NSArray array]; 这样的属性retain的dealloc释放,类方法产生的是autorelease对象。如下(strong 的setter方法)

- (void)setCurrentArray:(NSArray *)currentArray

{

    if(_currentArray != currentArray)

    {

        [_currentArray  release];

        _currentArray = [currentArray retain];

    }

}

相关文章

  • 内存管理与属性(mrc)

    在MRC下 @property (nonmatic,strong)NSArray *currentArray;- ...

  • iOS中的property属性

    MRC与ARC 谈property属性之前需要引入OC的两种内存管理机制MRC:全称Manual Referenc...

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

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

  • 内存管理

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

  • OC内存管理

    MRC与ARC Objective-C中提供了两种内存管理机制:MRC(MannulReference Count...

  • iOS面试题-第一页

    1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存...

  • iOS面试 | 基础知识 | <1>

    1.简述OC中内存管理机制 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,...

  • iOS内存管理总结(ARC/MRC)

    MRC原理 MRC: 手动管理内存(retain, release, autorelease,不多说) 持有对象,...

  • 面试问题记录 2

    1 ARC与MRC的内存管理 以及是如何实现的 ? 答:MRC 和 ARC 都是编译器特性,(Objective-...

  • OC 属性的内存管理

    属性的内存管理经常是让人很头疼的一件事,尤其是很多人在面试时经常会被问到,下面我们来讲讲属性的内存管理。 MRC:...

网友评论

    本文标题:内存管理与属性(mrc)

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