block心得

最近一直在搞项目,突然发觉用block特别是只掉一次的时候比代理好用多了,废话不多说block遍历数组

正序排序

NSArray *orginKeys = [[orginDictM1 allKeys] sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {

return [obj1 compare:obj2 options:NSNumericSearch];

}];

下面说一下当参数传递

- (instancetype)initWithView:(UIView *)view completion:(void(^)(OrderPay *order, NSDictionary *result, BOOL success))completion{

if (self = [super init]) {

completion(self, nil, YES);

}

return self;

}

如果是在这个方法里执行就可以直接调用block,

但是如果要在别的函数里调用这个block呢,让我搞了半天才知道,要引用一下,但是想到引用用什么好呢,这又让我困惑了

typedef void(^OrderBlock)(OrderPay *order, NSDictionary *result, BOOL success);

@property (nonatomic, copy) OrderBlock orderBlock;

- (instancetype)initWithView:(UIView *)view completion:(void(^)(OrderPay *order, NSDictionary *result, BOOL success))completion{

if (self = [super init]) {

self.orderBlock = completion;

}

return self;

}

这样就好了,如果方法不在本函数里面执行一定要引用一下,到你用的函数里面执行就可以了

时间: 2024-08-15 02:42:24

block心得的相关文章

block 心得

block (如有错误,或者有一些建议 , 请联系我 愿意听取建议) block  比函数灵活 可以在程序里面设定 也可以在程序外面设定 block  主要用于封装程序  到适应的时候调用  (有参数 和 无参数) block  重命名 typedef  int (^MyBlock) (int,int)  其中  int (^MyBlock)表示返回值参数以及 重命名之后 block 名字     后面是俩形参 起初 没有多线程时 整个程序中只有一条线程 在block 代码块中如果用 self

黑马程序员—oc语言学习心得—block

黑马程序员—oc语言学习心得—block -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,程序一般用typedef定义一个block类型 然后调用 typedef void(^xxx)(); 可使用助记符 inlineblock 2,Block内部可以访问外部变量:默认情况下,Block内部不能修改外部的局部变量 给局部变量加上__block关键字,则这个局部变量可以在block内部进行修改. 3,block的作用: 利用block封

block的学习的心得

额我主要说它的属性,和在添加cell的事件的时候如果使用block实现点击的事件. block就是一个传值回调的一个过程,它能降低耦合度.block看似和对象没有多大的关系.但是里面的block却执行了关于对象的事件.他的语法那些视频上都有,这里就不多说了. 但是有这个3点.1.在block中引用局部的变量时会变成常量不可以修改 ,要想修改时必须是__block修饰时才可以修改 2.在内存方面还是局部变量会retain,__block修饰时不会retain 且block声明全局变量时,我们应该调

oc中的block使用心得

typedef void (^ simpleBlock) (void); typedef double (^multiplyTwoValues)(double, double); typedef void (^ simpleTestBlock) (int ,int); @implementation TJAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDic

iOS开发Delegate,Notification,Block使用心得

(一)简要介绍 1.Delegate(代理.委托) 代理几乎是iOS开发中最常用的传值方式,在项目中的AppDelegate就是使用的这种设计模式,不仅如此,还有很多原生的控件也使用的这种设计模式,比如:UITextFiled,UITableView等等.官方给出的解释如下: Delegation is a simple and powerful pattern in which one object in a program 1 acts on behalf of, or in coordin

IOS之block,一点小心得

作为一个iOS开发程序员,没用过block是不可能的.这次我探讨的是block原理,但是有些更深层次的东西,我也不是很清楚,以后随着更加了解block将会慢慢完善. 第一个问题,什么是block? 我们都会用block,但是block是什么呢,这是首先要弄清楚的概念.虽然,是什么并不影响我们用它,但是搞清楚原理我们才能更好的去使用它,我觉得作为一个程序员,需要时刻保持对事物原理追究的心态? block的是本质是对象.但是你也可以说它是代码块.闭包.内联函数.函数指针...还有很多叫法,也可能这里

编写HTML和CSS几点心得

HTML代码优化 表单域用fieldset包起来,并用legend说明其用途(注意在css初始化的时候把fieldset的border设为0,把legend的display设为none) 每个input标签要用label来标注文本,并为每个input设id,用for关联. 为了提高搜索引擎友好性,要减少table标签使用.但是对于呈现二维数据,table却是首选,当然我们的优化方法是表格的标题用<caption></caption>包裹,表头用<thead></t

移动端网页设计经验与心得

原文:移动端网页设计经验与心得 智能手机发展确实很迅速,像今年,我的大部分工作就都在移动端网页上. 再往前些年,看到的手机版/移动版网页,限制于浏览器与手机性能,2g网络速度等 网页设计无非是蓝.黑.白,界面单调,并且要尽可能的设计简单. 现在情况就大不相同了,软件上webkit内核浏览器大行其道,硬件突飞猛进,网速来说,4g正炒得火热. 下面就和大家分享一下我的一些移动端网页设计经验与心得. ⒈ 分辨率这应该是移动端网页最关心的问题了,因为移动设备五花八门,各种分辨率都有.要想在这些设备上都能

BC1.2的一些心得

什么叫DCD DataContact Detect(DCD) 1.首先是DCD 2.然后是Primary detection 3.然后是Secondary detection 检测充电的条件是VBUS>VOTG_SESS_VLD 检测流程 1.DCD 阶段 打开IDP_SRC与RDM_DWN,检测D+上的电压和VLGC_LOW比较.如果VDP小于VLGC_LOW,或者TDCD_TIMEOUT则DCD阶段结束,这个时候应该关闭IDP_SRC和RDM_DWN 标准的CDP和SDP都是支持DCD的 2