object-c学习:object-c的函数、块

1、函数返回指针或数组:

必须将局部变量定义为静态(static )变量。

int * getRandom( ){ static int r[10]; int i; /* set the seed */ srand( (unsigned)time( NULL ) ); for ( i = 0; i < 10; ++i) { r[i] = rand(); NSLog(@"%d", r[i] ); } return r;}


2、块


声明:
returntype (^blockName)(argumentType);

实现:

returntype (^blockName)(argumentType)= ^{
};

void (^simpleBlock)(void) = ^{
    NSLog(@"This is a block");
};

double (^multiplyTwoValues)(double, double) = 
    ^(double firstValue, double secondValue) {
	    return firstValue * secondValue;
    };
double result = multiplyTwoValues(2,4); 
NSLog(@"The result is %f", result);


3、使用类型定义块

#import <Foundation/Foundation.h>


typedef void (^CompletionBlock)();
@interface SampleClass:NSObject
- (void)performActionWithCompletion:(CompletionBlock)completionBlock;
@end


@implementation SampleClass


- (void)performActionWithCompletion:(CompletionBlock)completionBlock{


    NSLog(@"Action Performed");
    completionBlock();
}


@end


int main()
{
    /* my first program in Objective-C */
    SampleClass *sampleClass = [[SampleClass alloc]init];
    [sampleClass performActionWithCompletion:^{
        NSLog(@"Completion is called to intimate action is performed.");
    }];
    
    return 0;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值