zoukankan      html  css  js  c++  java
  • IOS学习笔记3—Objective C—简单的内存管理

    今天简述一下简单的内存管理,在IOS5.0以后Apple增加了ARC机制(Automatic Reference Counting),给开发人员带来了不少的方便,但是为了能更好的理解IOS内存管理机制,还是需要对其比较了解。

    1.在OC中,每个对象都有一个保留计数,创建时每个对象都有一个初始值为1的保留计数,释放时,保留计数都为0

     

    2.创建自动释放的对象

    要求以一个方法创建对象时,以自动释放的形式返回该对象是一个很好的编程实践

    +(Car *)car

    {

         Car *myCar = [[Car alloc] init];

         return [myCar autorelease];

    }

     

    3.创建已保留属性

    @property (retain)NSArray *colors;

    synthesize创建后,自动保留该对象,如果该对象被重新赋值,前面的值将被自动释放

     

    4.创建对象的其他方式

    一般规则:通过alloc、new、create、copy的任意方法构建一个对象,就必须承担释放该对象的责任,和类方法不同,带这些字样的方法一般不会返回自动释放的对象

     

    5.释放对象

    释放属性:self.year = nil;会调用OC合成的自定义赋值方法,并释放以前赋值给该属性的任意对象

    释放实例变量(非属性):[age release]; 实例变量在对象生命周期内,随时可以指向一个保留计数+1的对象,必须释放当前赋值给age的任意对象,从而将计数置为0;

     

     

    对Android&IOS感兴趣的朋友可以加入我们的讨论QQ群,在这里,我们只讨论干货:

    iOS群:220223507

    Android群:282552849

    欢迎关注我的新浪微博和我交流:@唐韧_Ryan

  • 相关阅读:
    Tempter of the Bone
    CODE[VS]1160 蛇形矩阵
    CODE[VS] 1205 单词翻转
    CODE[VS] 1204 寻找子串位置
    a little sweet~
    我多喜欢你,你会知道
    P1474 货币系统 Money Systems
    P1096 Hanoi双塔问题
    P1209 [USACO1.3]修理牛棚 Barn Repair
    下一秒
  • 原文地址:https://www.cnblogs.com/motoyang/p/4783289.html
Copyright © 2011-2022 走看看