zoukankan      html  css  js  c++  java
  • MRC与ARC混合开发配置

    iOS4.1后,默认为ARC模式,ARC实质上通过编译器特性实现的,只需简单修改下文件配置即可实现.

    1.要切换至MRC需要选中当前Project,选择Build Settings,查询框内键入auto,查找到Objective-C Automatic Reference Counting ,将YES选成NO即可.见下图:

    2.还可以灵活选择单一或几个文件设置成ARC模式,方法是选择targets,找到Compile Sources,选择所需文件,将flags ,键入-fobjc-arc即可.见下图:

    3.还可以灵活选择单一或几个文件设置成MRC模式,方法是选择targets,找到Compile Sources,选择所需文件,将flags ,键入-fno-objc-arc即可.见下图:

    内存管理原则:
    1)谁创建(alloc,new),谁release或者autorelease;
    2)谁retain,mutableCopy(copy),谁release或autorelease;
     
    MRC:手动内存管理
    出现新对象时,手动添加release或autorelease.
     
    ARC工作原理:
    ARC是Objective-C编译器的特性,而不是运行时特性或者垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease。
    ARC的判断准则: 
    只要还有一个强指针变量指向对象,对象就会保持在内存中。
    只要没有强指针指向对象,对象就会被释放。 
    注意:当使用ARC的时候,暂时忘记“引用计数器”,因为判断标准变了 
     
  • 相关阅读:
    OpenCV on Mac OSX: A step-by-step guide
    opencv打开摄像头获取视频程序
    使用find_if算法搜寻map的value
    c++如何理解map对象的value_type是pair类型
    关联容器执行器指定排序规则
    仿函数和函数配接器
    C++的异常处理
    back_insert_iterator和insert_iterator
    copy函数与ostream_iterator、reverse_iterator
    const_cast
  • 原文地址:https://www.cnblogs.com/wanchen/p/4912715.html
Copyright © 2011-2022 走看看