block的知识点
//
// main.m
// 1211块练习
//
// Created by jerehedu on 14/12/11.
// Copyright (c) 2014年 jereh. All rights reserved.
//
#import <Foundation/Foundation.h>
;
;
int main(int argc, const char * argv[])
{
// int __block c=19;
@autoreleasepool {
//block能够訪问局部变量,可是不能改动
//__block 块改动 keyword 不加的话无法在块内对c(局部变量)进行改动
;
void (^nBlock)()=^{
;
NSLog(@"%i",c);
};
nBlock();
//外部变量能够直接操作、改动
void (^nmBlock)()=^{
NSLog(@"%i",++a);
};
nmBlock();
NSLog(@"%i,%i",a,b);
//block保存一段代码,用花括号括起来
//block标志是^
/*block与函数比較
1.能够保存代码
2.有返回值
3.有形參
4.调用方式和C调用函数一样
*/
//没有參数返回值的块
void (^ myBlock)();
myBlock=^{
NSLog(@"没有參数返回值的块。
");
};
//直接写完不会被运行,被保存起来了,须要调用
//块的调用
myBlock();
//写在一起
void(^ myblock)()=^{
NSLog(@"没有參数返回值的块。
");
};
myblock();
//能够把块写在main的上面,则整个函数体内直接调用就可以
//==========================================================
//有參数返回值的 加法
int (^ addBlock)(int,int) = ^(int a,int b){
return a+b; //此处括号内形參能够省略
};
)) ;
//通过block,打印出N条直线。N是调用块时传入
void(^ lineBlock)(int)=^(int N){
; i<N; i++) {
NSLog(@"______________");
}
};
);
//减法
int (^ subBlock)(int,int)=^(int a,int b){
return a-b;
};
));
//typedef 用MyBlock取代int (^ MyBlock)(int,int)
typedef int (^ MyBlock)(int,int);
//乘法简化 MyBlock是类型,不能直接用来调用block,须要用变量名来调用
MyBlock mulBlock=^(int a,int b){
return a*b;
};
));
//除法
MyBlock divBlock=^(int a,int b){
return a/b;
};
));
}
;
}
block的知识点的更多相关文章
- 使用layer弹出Ueditor实现父子传值
Layear的代码: function tankuang() { layer.open({ type: 2, title: false ...
- iOS_SDWebImage框架分析
SDWebImage 支持异步的图片下载+缓存,提供了 UIImageView+WebCacha 的 category,方便使用.使用SDWebImage首先了解它加载图片的流程. 入口 setIma ...
- Python守护进程、进程互斥锁、进程间通信ICP(Queue队列)、生产者消费者模型
知识点一:守护进程 守护进程:p1.daemon=True 守护进程其实就是一个“子进程“,守护=>伴随 守护进程会伴随主进程的代码运行完毕后而死掉 进程:当父进程需要将一个任务并发出去执行,需 ...
- Block知识点总结
block的作用 block用于保存一段代码 在适当的时候再使用 它是一种数据类型 block的定义格式: 返回值 (^block变量名)(形参列表) = ^(形参列表) { 需要执行的代码}; ...
- block知识点
1.block引用局部变量的时候,该变量会作为常量编码到block中,在block中不能被修改. 2.使用 __block修饰的局部变量,不会作为常量被编码到block中,故而在block中可以被修改 ...
- 【干货分享】前端面试知识点锦集02(CSS篇)——附答案
二.CSS部分 1.解释一下CSS的盒子模型? 回答一:a.标准的css盒子模型:宽度=内容的宽度+边框的宽度+加上内边具的宽度b.网页设计中常听的属性名:内容(content).填充(padding ...
- 【干货分享】前端面试知识点锦集01(HTML篇)——附答案
一.HTML部分 1.浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层.表示层.行为层分别是:HTML.CSS.JavaScript作用:HTML实现页面结构,CSS完成页面的表现与风格 ...
- css知识点整理
CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 一.css引入的方式 1.行内样式:行内式是在标记的style ...
- Block formatting context(块级格式化上下文)
今天看到豆瓣面试官的一篇文章,讲到关于CSS中的一个知识点:Block formatting context ,感觉这个确实挺有用,同时我也挺赞同作者的一些观点的,这里就不展开谈我的感受了, 此文只 ...
随机推荐
- 微软企业库5.0 学习之路——第七步、Cryptographer加密模块简单分析、自定义加密接口及使用—下篇
在上一篇文章中, 我介绍了企业库Cryptographer模块的一些重要类,同时介绍了企业库Cryptographer模块为我们提供的扩展接口,今天我就要根据这些 接口来进行扩展开发,实现2个加密解密 ...
- 【转】Python 列表生成式
原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...
- PTA L1-020 帅到没朋友 团体程序设计天梯赛-练习集
L1-020 帅到没朋友(20 分) 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友.本题就要求你找出那些帅到没有朋友的人. 输入格式: 输入第一行给出一个正整数N(≤),是已 ...
- RecyclerView混合布局
本来想把公司的UI图放上来,考虑到版权等未知因素,就拿网上的图来说了: 类似的这种布局,有的一行只有一张图片,有的一行有两个元素,有个一行有三个元素..就是混合的布局方式 参考文献: https:// ...
- Struts2 简单的上传文件并且显示图片
代码结构: UploadAction.java package com.action; import java.io.File; import java.io.FileInputStream; imp ...
- IEDA快捷键
前言 开发工具从eclipse过渡到idea了:在刚开始使用的时候被idea强大的快捷键都惊呆了,这里记录了常见的一些快捷键和小伙伴们分享. 快捷键 鼠标悬停在单词上自动提示 : settings-- ...
- 【最短路径】 常用算法图解+1376:信使(msner)六解
进入图之后,最短路径可谓就是一大重点,最短路径的求法有很多种,每种算法各有各的好处,你会几种呢?下面来逐个讲解. 1 floyed算法 1)明确思想及功效:在图中求最短路还是要分开说的,分别是单源最短 ...
- AGC 012 D - Colorful Balls
题面在这里! 为什么atcoder都是神仙题啊qwq 首先发现如果要让 x,y 互换位置的话,要么通过他们直接换 (也就是x和y满足两种操作之一),要么间接换,通过一些其他的元素形如 x可以和 a[1 ...
- AGC 018 A - Getting Difference
题面在这里! 天呐,我已经做了一天水题了mmp 养生最重要,恩. 首先发现最终序列里的元素肯定是 <= max 的,因为无论何时序列里都不会有负数,所以减的话不会变大(反向大只有>2*ma ...
- BZOJ 2225 [Spoj 2371]Another Longest Increasing(CDQ分治)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2225 [题目大意] 给定N个数对(xi,yi),求最长上升子序列的长度. 上升序列定义 ...