ios 晋级之路- block深入

最近在写代码的时候感觉block有的时候真的很好用,传值、传递消息跟代理通知比起来真的是很快,特别是一些空间的点击事件回调函数

int (^myBlock)(int) = ^(int num){

return num;

};

NSLog(@"%d",myBlock(3));

其实定义一个block变量,就相当于定义了一个函数。但是区别也比较明显,以上面代码为例,在执行myBlock时并不会执行Block{}内部的代码,儿myBlock(3)才会执行{}内部的代码,这点跟函数很像

_block关键字的使用

在Block的{}体内,是不可以对外面的变量进行更改的,加上__block关键字就可以了

Block作为property属性实现页面之间的传值

时间: 2024-10-15 08:53:01

ios 晋级之路- block深入的相关文章

IOS学习之路--BLOCK

/* 1.定义block变量: 返回值类型 (^block变量名) (参数类型1, 参数类型2, ....); 2.给block变量赋值 block变量名 = ^(参数类型1 参数名称1, .....) { }; */ /* 1.设置动画属性 2.开始执行动画 3.动画执行完毕 block1 = ^{ 封装了动画开始执行前想做的事情 }; block2 = ^{ 封装了动画执行完毕后想做的事情 }; */ #import <Foundation/Foundation.h> //typedef

ios晋级之路-本地存储

首先应该知道ios开发是在沙盒中开发的,对一些部分的文件的读写进行了限制,只能在几个目录下读写文件 (1)Document:应用中用户数据可以放在这里,ITunes备份和恢复的时候会包括此目录 (2)tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 (3)Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下文件不会在应用退出后删除 写入Document文件时有两个类NSDocumentDirectory ,NSDocument

ios晋级之路-layout机制

ios layout机制相关方法 - (CGSize)sizeThatFits:(CGSize)size - (void)sizeToFit ——————- - (void)layoutSubviews - (void)layoutIfNeeded - (void)setNeedsLayout ——————– - (void)setNeedsDisplay - (void)drawRect layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews

ios晋级之路-动画CABaseAnimation

想在CALayer中实现动画很容易,初学者可能会把思想局限于UIView层面上,其实不放用CALayer会比你想象的简单且思路清晰,上篇随笔中讲到了CALayer的一些属性,如果说你改变一些属性比如bounds,position你会发现它是会自带隐式动画的,而且效果不错,不过在这里你不能自定义动画事件并且让一组动画有效的执行.如果想实现上述的效果就需要CABaseAnimation //显示动画 CABasicAnimation * contentAnimation = [CABasicAnim

ios晋级之路-强引用和弱引用

在objective-c的ARC模式中,请看以下代码 id objc =[[NSObject alloc]init]; 这里id默认为强引用 在强引用中,有时会出现循环引用的情况,这时就需要weak来帮忙啦 int main(int argc, const char * argv[]) { id __weak obj0 = nil; @autoreleasepool { if (YES) { id obj1 = [[NSObject alloc]init]; obj0 = obj1; NSLog

ios晋级之路-tableViewCell设置背景颜色

如果你项修改一下cell的颜色的话cell.contentView.backgroundColor = [UIColor redColor]; 这样是没有问题的,但是如果你想把其修改成无色,那么就不可以了. 所以 为了改变单元格的背景色,你需要修改: 1 2 3 4 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)

ios -晋级之路 如何去掉tableView多余行的横线

大家可能会遇到这种问题,就是我本来要用三行表格但是设置好之后,下面有出现了好多的横线~~~~orz 这种方法可以解决问题 UIView * view = [[UIView alloc]init]; view.backgroundColor = [UIColor clearColor]; [self.tableView setTableFooterView:view];

IOS学习之路- 运行过程

1. 执行Main函数(在main.m文件中) 2. 加载MainStoryborad.storyboard文件 * 创建ViewController文件 * 根据storyboard文件中描述创建ViewController中的UIView(父层) * 创建UIView内部的所有子控件 * 将创建好的所有UIView对象跟ViewController做相应的关联(IBAction,IBoutlet  ) 3. 将程序的第一个控制器内部的UIview显示到手机屏幕上. IOS学习之路- 运行过程

iOS学习之路--下拉刷新和上拉加载更多

iOS学习之路--下拉刷新和上拉加载更多 简介 本文中笔者将和大家分享应用app中常用到的表单内容的下拉刷新和上拉加载更多的功能实现的方法. 内容 1.有哪些实现方法与各方法的优劣 使用过美团,大众点评的朋友们应该有注意到,当你向上滑动表单的时候会有更多的店铺加载进你的表单中,而当你下滑表单顶的时候,则会刷新表单的内容并从网络上获取最新的信息.通过下拉刷新和上拉加载更多的功能,使app可以获取更多用户想要的信息和获取最新的信息.那么这种功能如何实现呢,还请跟着笔者继续往下看. 目前来说,主要的实