美文网首页
iOS Block属性

iOS Block属性

作者: Onlyoner | 来源:发表于2017-04-18 17:40 被阅读0次
#import "ViewController.h"
#import "Person.h"

@interface ViewController ()
/**  */
@property(strong ,nonatomic)Person * p;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    //1.block作为对象的属性!!
    //2.block作为方法的参数!!
    //3.block作为返回值!!!(扩展非常强!!)
    Person * p = [[Person alloc]init];
    p.run(100);
    
}


-(void)block2{
    Person * p = [[Person alloc]init];
    [p eat:^(NSString * s) {
        NSLog(@"爱吃%@",s);
    }];

}

-(void)block1{
    Person * p = [[Person alloc]init];
    
    //block  -- inlineBlock
    void(^HKBlock)() = ^() {
        NSLog(@"block");
    };
    
    p.block = HKBlock;
    _p = p;
    

}



#import <Foundation/Foundation.h>

@interface Person : NSObject

/** block :ARC使用strong  非ARC copy  */
@property(nonatomic,strong) void(^block)();

-(void)eat:(void(^)(NSString *))block;

-(void(^)(int))run;


@end
#import "Person.h"

@implementation Person

-(void)eat:(void (^)(NSString *))block{
    block(@"苹果");
    
}

-(void (^)(int))run
{
    return ^(int m){
        NSLog(@"哥么跑起来了!!跑了%d",m);
    };
}

@end

相关文章

  • 关于block(4)

    关于block(4) 标签: iOS 技术 接上篇,我们继续探究block。 block的copy属性 研究到这里...

  • iOS 内存泄露监测

    iOS可能存在的内存泄露: block 循环引用。当一个对象有一个block属性,而block属性又引用这个对象本...

  • OC-关于Block

    参考文章:iOS block,你要看的这都有,block没那么难 一、Block写法 1、属性 2、typedef...

  • iOS Block属性

  • 2019 iOS面试题大全---全方面剖析面试(下)

    1、iOS block 的原理,block 的属性修饰词为什么用 copy,使用 block 时有哪些要注意的? ...

  • iOS-2 Block

    block块 系列文章: iOS Block浅浅析 - 简书 iOS Block实现原理 iOS Block __...

  • iOS Block存储域及循环引用

    系列文章:iOS Block概念、语法及基本使用iOS Block实现原理iOS Block __block说明符...

  • iOS Block实现原理

    系列文章:iOS Block概念、语法及基本使用iOS Block __block说明符iOS Block存储域及...

  • Block

    1、Block 传值2、Block 调用3、Block属性和其他属性的比较 这里我们先来比较下block的属性声明...

  • iOS Block __block说明符

    系列文章:iOS Block概念、语法及基本使用iOS Block实现原理iOS Block存储域及循环引用 上一...

网友评论

      本文标题:iOS Block属性

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