OC基础:block.字面量 分类: ios学习 OC 2015-06-22 19:08 155人阅读 评论(0) 收藏
2015-06-22 19:08
337 查看
block 块语法,可以用block去保存一段代码,或者封装一段代码.
block 实际是由c语言实现的,执行效率很高.
block 实际借鉴了函数指针的语法.
block,在多线程、异步任务,集合遍历,集合排序、动画专场用得多
block
(^)(参数类型1 参数名1,参数类型2 参数名2...);
返回值类型 (^)();
1.没有参数,括号也不能省略
2.参数名可以省略
void(^myBlock1)(); 无参数无返回值
void(^myBlock2)(int a,int b); 有参数无返回值
int(^myBlock3)(); 无参数有返回值
int(^myBlock4)(int a,int b); 有参数有返回值
block实现
格式:
^(参数类型1 参数名1,参数类型2 参数名2....){
执行代码
};
注意{ }外面需要加;
如:myBlock1=^(){
NSLog(@"吃糖吗?");
};
block调用
myBlock1();
起别名:typedef int(^BLOCK)(int ,int );
block定义时,block块中的代码不执行,调用block的时候block块中的代码才执行.block是c语言中的函数的一种拓展.
block块内部访问变量
1.全局变量block可以直接使用,不需要加_block修饰
2.局部变量需要加__block修饰,才能在block块内部修改
3.局部变量不加__block修饰,只能使用(看),无法修改
-----------------------------------------------------------------------------------
字面量:便利的表示方法
NSNumber *number1=@100;
NSArray *array1=@[@"1",@"2",@"3"];
NSMutableArray *mArray=@[@"1",@"2",@"3"].mutableCopy;
//字典的字面量
// :前是key值 :后是value值
NSDictionary *dict=@{@"a":@"1",@"b":@"2",@"c":@"3"};
NSMutableDictionary *mDict=@{@"a":@"1",@"b":@"2",@"c":@"3"}.mutableCopy;
版权声明:本文为博主原创文章,未经博主允许不得转载。
block 实际是由c语言实现的,执行效率很高.
block 实际借鉴了函数指针的语法.
block,在多线程、异步任务,集合遍历,集合排序、动画专场用得多
block
(^)(参数类型1 参数名1,参数类型2 参数名2...);
返回值类型 (^)();
1.没有参数,括号也不能省略
2.参数名可以省略
void(^myBlock1)(); 无参数无返回值
void(^myBlock2)(int a,int b); 有参数无返回值
int(^myBlock3)(); 无参数有返回值
int(^myBlock4)(int a,int b); 有参数有返回值
block实现
格式:
^(参数类型1 参数名1,参数类型2 参数名2....){
执行代码
};
注意{ }外面需要加;
如:myBlock1=^(){
NSLog(@"吃糖吗?");
};
block调用
myBlock1();
起别名:typedef int(^BLOCK)(int ,int );
block定义时,block块中的代码不执行,调用block的时候block块中的代码才执行.block是c语言中的函数的一种拓展.
block块内部访问变量
1.全局变量block可以直接使用,不需要加_block修饰
2.局部变量需要加__block修饰,才能在block块内部修改
3.局部变量不加__block修饰,只能使用(看),无法修改
-----------------------------------------------------------------------------------
字面量:便利的表示方法
NSNumber *number1=@100;
NSArray *array1=@[@"1",@"2",@"3"];
NSMutableArray *mArray=@[@"1",@"2",@"3"].mutableCopy;
//字典的字面量
// :前是key值 :后是value值
NSDictionary *dict=@{@"a":@"1",@"b":@"2",@"c":@"3"};
NSMutableDictionary *mDict=@{@"a":@"1",@"b":@"2",@"c":@"3"}.mutableCopy;
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关文章推荐
- (六十四)iOS的socket实现(C+OC混合实现)
- (六十四)iOS的socket实现(C+OC混合实现)
- 【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等
- iOS 观察者模式(KVO)的简单使用
- iOS开发之Xcode6之后不再自动创建Pch预编译文件
- IOS如何生成一枚精美的像素按钮
- IOS菜鸟的所感所思(十三)——数据的图形化
- iOS 的 XMPPFramework 简介
- 【IOS】类似美团向下展开式选项
- 设置IOS 6.0顶部导航条颜色,和全屏开启应用,横竖屏选择
- iOS开发之旅--揭秘Runtime机制
- iOS开发之旅--KVO监听对象底层原理
- iOS开发之旅--深入讲解Singleton(单例设计模式)
- 使用Xcode 7 beta免费真机调试iOS应用程序
- iOS 数据持久化五-Core Data
- iOS 数据持久化二-对象归档
- iOS 数据持久化一-属性列表 Plist
- iOS 数据持久化三-NSUserDefaults
- iOS定位原理和使用建议
- 关于Core Location-ios定位