• 2015年08月19日09:54:45


    对象指针:1,对象指针通过操作其指向的内存完成具体的功能

    -对象指针指向nil时,称此对象为空对象

    -nil为对象指针的默认值

    -空对象无任何功能与作用

    2,获取对象指针指向的内存地址

    -通过alloc或便利构造器获取

    -通过方法获取

    *局部对象指针

    -作用域以大括号为界

    -{

            id obj;

      }

    *全局对象指针

    -手动声明的成员变量

    -属性声明的成员变量

    *局部对象指针

    -一般情况下使用(默认)

    -临时变量

    *全局对象指针

    -推荐全部使用属性

    -一个对象为另一个对象的组成部分

    -整个对象都需要使用的公用数据

    -对象的对外数据接口

    *强引用(默认)

    -通过__strong或无标识的对象指针

    -内存被该类型对象指针使用时不会释放

    *归零弱引用

    -通过__weak标识的对象指针

    -内存被该类型对象指针使用时,随时可能释放

    -内存释放后,使用该内存的对象指针被置nil

    *弱引用

    -通过__unsafe__unretain标识的对象指针

    -内存随时释放,且对象指针不被置nil

    *自动释放池(可以调节自动释放时间)

    ---@autoreleasepool{

           //池内

    }

    本质为一块代码区域,以大括号为界

    *自动释放类型对象

    -通过__autoreleasing标识的对象指针

    -被该对象指针使用过或使用中的内存,出自动释放池即释放,无论对象指针是否存在。

    -通过与自动释放池配合和延迟或提前释放内存

    *内存管理规范

    *一般情况

    -除特殊情况外,都是一般情况

    -使用strong类型

    *特殊类型

    -相互引用//强引用循环

    -引用链闭环//强引用循环

    -通过方法返回创建的额内存地址

    -在循环内通过方法创建大量对象

    ————————当对象释放时,走dealloc方法

    //便利构造器

    +(instancetype)student

    {

     __autoreleasing   Student *s = [[Student alloc]init];

    return s;

    }如果通过一个方法返回一块儿内存,那这块儿内存必须是被autoreleasing使用过的对象

    基本数据类型bool型,int型,double型,用assign

     
  • 相关阅读:
    监督学习——决策树理论与实践(上):分类决策树
    监督学习——随机梯度下降算法(sgd)和批梯度下降算法(bgd)
    Protobuf 从入门到实战
    Android 广播机制
    Java 并发编程——volatile/synchronized
    Android 手势识别—缩放
    Jquery 使用和Jquery选择器
    初识jQuery
    正则表达式
    正则表达式
  • 原文地址:https://www.cnblogs.com/quwujin/p/4741364.html
Copyright © 2020-2023  润新知