码迷,mamicode.com
首页 > 其他好文 > 详细

Xcode-01ARC

时间:2015-12-27 14:44:43      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

1.nonatomic  

2.assign

3.strong

4.weak  

5.instancetype

使部分类在编译时不使用ARC

-(可以让这们支持 retain release retainCount)

项目文件 - Build Phases - 找到.m文件双击 -加入Flags   --->>  -fno-objc-arc

让项目中的指定文件支持ARC 使用 -f-objc-arc    (-f的意思是Flags)

 

将非ARC的项目转换为 ARC

Edit - Convert - To Objcetive-C ARC

 

ARC-处理循环引用

使用 weak 弱指针   一个用strong指针 一个用weak指针

Block (和函数类似-保存一段代码)

函数是在编译前就要将代码写好   

 

void test()
{
     NSLog(@“—————");  
}

 

block是在程序运行时保存一段代码  指针的标识符是 *   block的标识符是 ^ 也可以有型参 和 返回值

 

//定义了一个没有返回值 ,没有形参的 名为 myblock的 block 变量 block也是数据类型

void (^myblock)() = ^{
   NSLog(@“———“);
   NSLog(@“———“);
}; // 注意分号

// 利用block变量调用block内部的代码 
my block(); // 调用方式与函数一样

带返回值和形参的 block 接收两个参数 返回两个参数的和

int (^sumblock)(int  , int ) = ^(int a, int b){
   return a+b;
};

int c = sumblock(10,20);

 

void test3()
{
    int a = 10;
    __block int b = 20;
    
    void (^block)();
    
    block = ^{
        // block内部可以访问外面的变量
        //NSLog(@"a = %d", a);
        
        // 默认情况下,block内部不能修改外面的局部变量
        // a = 20;
        
        // 给局部变量加上__block关键字,这个局部变量就可以在block内部修改
        b = 25;
    };
    
    
    block();
}

 

Xcode-01ARC

标签:

原文地址:http://www.cnblogs.com/iedo/p/5079927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!