码迷,mamicode.com
首页 > 移动开发 > 详细

【iOS 入门】block (1)

时间:2020-01-16 14:08:59      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:赋值   oid   obj   div   interface   view   兼容   object   变量   

学习block之前 先复习C语言函数指针。

定义:

函数返回值类型 (* 指针变量名) (函数参数列表);

例如:

int(*p)(int, int);

解释:

这个语句就定义了一个指向函数的指针变量 p。首先它是一个指针变量,所以要有一个“*”,即(*p);其次前面的 int 表示这个指针变量可以指向返回值类型为 int 型的函数;后面括号中的两个 int 表示这个指针变量可以指向有两个参数且都是 int 型的函数。所以合起来这个语句的意思就是:定义了一个指针变量 p,该指针变量可以指向返回值类型为 int 型,且有两个整型参数的函数。p 的类型为 int(*)(int,int)。

 

下篇是特别好的教程

http://c.biancheng.net/view/228.html

 

 

测试代码

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface TestBlock : NSObject

-(void)test;
@end

NS_ASSUME_NONNULL_END

 

#import "TestBlock.h"

@implementation TestBlock
//声明了一个c语言方法 oc兼容c语言语法。
int max(int a,int b );
//实现test方法
-(void)test{
  //声明一个函数指针变量。叫*bigger; 指向有两个参数的(int a ,int b )方法 。方法返回值为int型 。
int (* bigger)(int a ,int b ) ;
  //指针赋值 bigger
= max ;
  //使用指针 bigger
int c =( *bigger)(1,2); NSLog(@"指针函数调用结果:%d",c); }
//实现已声明的方法。
int max(int a ,int b ){ return a>b ? a : b ; } @end

【iOS 入门】block (1)

标签:赋值   oid   obj   div   interface   view   兼容   object   变量   

原文地址:https://www.cnblogs.com/mamamia/p/12200754.html

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