黑马程序员技术交流社区

标题: block [打印本页]

作者: 泡泡鱼    时间: 2016-3-19 21:33
标题: block
怎样学习block
作者: feng2706    时间: 2016-3-19 21:36
多敲代码
作者: freehelloworld    时间: 2016-3-19 21:40
好好学习block
作者: 泡泡鱼    时间: 2016-3-19 21:42
freehelloworld 发表于 2016-3-19 21:40
好好学习block

谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
作者: wangyuxin    时间: 2016-3-19 21:44
照片呢?

作者: 泡泡鱼    时间: 2016-3-19 21:46
wangyuxin 发表于 2016-3-19 21:44
照片呢?

额....  不敢发.怕被删帖.一会儿发群里~.不过谢你的踩啦  
作者: 泡泡鱼    时间: 2016-3-19 21:48
feng2706 发表于 2016-3-19 21:36
多敲代码

你学好了吗  block
作者: 一马当先    时间: 2016-3-19 22:01
/*    函数指针: 指向函数的指针    指针函数: 返回值是指针类型的函数      int max(int x,int y){          return x>y?x:y;      }    */   #import <Foundation/Foundation.h> //声明函数 int max(int x,int y){          return x>y?x:y;      }   void test2(){      //调用函数     //使用函数名取调用函数,直接访问     //函数名,存放的是函数的首地址     int m = max(34,438);          //指针变量间接访问     //函数指针的定义:     //定义了一个函数指针变量,名称是p     // p 可以指向返回值是int 并且有两个int类型的参数的函数     //        int (*p)(int x,int y);     //        p = max;     //     //        m = p(34,438); //间接访问     //        NSLog(@"m = %d",m);          //p是一个指针变量?  还是一个类型?     // 此时把 返回值是int 有两个整型参数的函数,起了别名,别名是p     typedef int (*p)(int x,int y);          //p = max;     p pmax;     pmax = max;     NSLog(@"pmax = %d",pmax(34,438));  }  int main(int argc, const char * argv[]) {     @autoreleasepool {          //myblock 是没有参数,没有返回值的block类型的变量 //        void (^myblock)();                  //1,给没有参数,没有返回值的block起别名         //myblock 是一个类型         //给没有返回值,没有参数的代码块,起一个别名 myblock         typedef void (^myblock)();         //定义一个返回值是void没有参数的block变量,名称为b1         myblock b1;  //b1是一个变量,myblock是一个类型                  //给block变量赋值         b1 = ^{                      NSLog(@"test b1");         };         //执行block         b1();                  //2,给有参数的block起别名         typedef void (^blockType1)(int x,int y);         //使用别名定义block变量,并且初始化         //blockType 是一个类型         //bt是一个变量         blockType1 bt = ^(int x,int y){                      NSLog(@"x+y = %d",x+y);                  };                  bt(34,23);                  //3,给有参数,有返回值的block起别名         typedef int(^blockType2) (int x,int y);         //定义有参数,有返回值的block变量,名称是b2         blockType2 b2 = ^(int x,int y){                      return x+y;                  };                  int s = b2(23,10);         NSLog(@"s = %d",s);     }     return 0; }
作者: chuanzhang    时间: 2016-3-19 23:38
代码先敲七遍
作者: 泡泡鱼    时间: 2016-3-20 00:07
chuanzhang 发表于 2016-3-19 23:38
代码先敲七遍

有道理~有道理~有道理~有道理~
作者: Eric_Jia    时间: 2016-3-20 00:28
我也懵着呢,Block 好难
作者: yuluoyu    时间: 2016-3-20 10:12
好好学习block
作者: A吃素的鲨鱼    时间: 2016-3-20 13:18
赞一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2