• Objective-C 快速入门--基础(四)


    1、什么是Block?

      ① 块语法,本质上是匿名函数(没有名称的函数);

      ② Block是OC中的一种数据类型,在iOS开发中被广泛使用;

      ③ ^是Block的特有标记;

      ④ Block的实现代码包含在{}之间;

      ⑤ 大多情况下,以内联inline函数的方式被定义和使用;

      ⑥ Block与C语言的函数指针有些相似,但使用起来更加灵活;

      示例:main.m文件中:

      

      控制台输出:

      

    2、Block变量存储的是什么?

      简单地讲Block变量储存的是:函数的实现;

    3.如何定义一个Block变量?如何给Block变量赋值.如现在有一个匿名函数int (NSString * a,int b)它的功能是将数字字符串a,转换为整型值,然后与b相加,返回和值。

      示例:main.m文件中:

      

      控制台输出:

      

    4.对于上题的匿名函数,如何通过block变量实现执行这个匿名函数。

      示例:main.m文件中:

      

    5.在block中能修改局部变量的值吗?能修改全局变量的值吗?

      ①不能,需要在定义局部变量的时候加上_ _block;

      ②在block中可以直接修改全局变量。

    6.创建3个学生对象,存放到数组中,如何通过block实现对该数组按照年龄降序排列。

      示例:main.m文件中:

      

      控制台输出:

      

    7、void (^myBlock)() = ^void(){ NSLog(@“Hello Lanou!”); }  

      其中:①block变量的类型是什么?   ②block的变量名是什么?  ③block变量存储的值的类型是什么?

    答: ① void (^)()  ② myBlock  ③ ^void(){  NSLog(@“Hello Lanou!”);  };

     Email:dingding3w@126.com

  • 相关阅读:
    glide引出恶心的git submodule
    恶心的hadoop集群
    恶心的sbt 超级慢--解决
    gradle 如何操作命令行
    TextView使用SpannableString设置复合文本(转)
    在gradle 中使用ant 执行 “命令行”(CMD)不出日志解决方案
    SQLServer常用运维SQL整理(转)
    github 拉取代码慢 的处理
    Docker部署Sentry
    下载网站的视频
  • 原文地址:https://www.cnblogs.com/dingding3w/p/4609086.html
Copyright © 2020-2023  润新知