文档章节

[swift]-闭包前oc中block的说明

XJDomain
 XJDomain
发布于 2016/08/01 16:02
字数 186
阅读 11
收藏 0
点赞 0
评论 0

1:oc中blcok是一个匿名函数,常用于回调

 

2:oc中blcok的三种常见定义:

#import "HttpTool.h"

typedef void(^myBlock)(NSString *name);

@interface HttpTool ()

//typedef定义法
- (void)httpToolBlock:(myBlock)callBlock;


// void(^block名字)(参数列表)
@property (nonatomic, copy)void(^callBlock)(NSString *name);


//  方法的block定义
//(void(^)(NSString *str))callBlock
- (void)blockFunc:(void(^)(NSString *name))callBlock;


@end

 

 

3:对于block中经常会注意循环引用的问题:最好的办法是使用weckself,常见写法:

#define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self;
1.
__weak XJViewController *weakSelf = self;

2.
__weak typeof(self) weakSelf = self;

3. 
 __weak __typeof(self)weakSelf = self;

 

3:使用内存图来判断是否循环引用了:

 

:

 

 

意见反馈邮件:1415429879@qq.com
欢迎你们的阅读和赞赏、谢谢!

© 著作权归作者所有

共有 人打赏支持
XJDomain
粉丝 15
博文 112
码字总数 44060
作品 0
嘉定
高级程序员
swift语法学习

变量和常量 变量,可以修改的 常量,一经定义不能修改 在swift开发中,通常先定义常量,只有必须修改的时候,再改成 注意点: swift是一个对变量类型要求及其严格的语言 任何数据类型之间,都...

冷漠叻荭颜 ⋅ 2015/05/10 ⋅ 1

Swift4.0基础知识回顾

简单介绍一下Swift Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序,Swift语言让应用开发更简单、更快、更稳定,确保最终应用有着更好的质量更多了解Swift可以去《The...

博行天下 ⋅ 2017/12/06 ⋅ 0

Swift3.0 函数闭包与 Block

最近新接手了一个Swift项目,花点时间做点小结,以做记录 我的博客链接 Swift中定义一个基本函数 这里下划线 的作用用来忽略外部參数名,具体可以参考这篇文章 带参函数定义 举栗子,网络数据...

PetitBread ⋅ 2017/06/08 ⋅ 0

OC中的block与Swift中的尾随闭包的使用

girl.png   OC中的block与Swift中的尾随闭包都起到了将参数作为返回值的作用,也就是常说的回调。 1. block的使用   在OC中block主要分为三种,分别是 (1)NSConcreteGlobalBlock 全局静...

小时候De_我 ⋅ 2017/11/28 ⋅ 0

[swift]-闭包的简单使用、定义

1:swift中闭包和oc中block一样,都是常用于回调,闭包也是一种特殊函数 2:代码演示: 3:闭包的定义格式: (参数列表) -> (返回值类型) 如:callBalk : (jsonData : String) -> () 4:swift中:...

XJDomain ⋅ 2016/08/01 ⋅ 0

Swift实现代理,通知,闭包传值

1.区别 原文链接,著作权归作者所有,侵权删 第一就是代理,这也是很常用的方式,特点是一对一的形式,而且逻辑结构非常清晰。实现起来较为简单:写协议 ,设置代理这个属性, 最好在你想通知代...

ufo00001 ⋅ 2017/08/14 ⋅ 0

RxSwift之路 1#Swift语法知识准备

在开始学习 RxSwift 之前,一定要对 Swift 相关语法有所了解,否则就很难理解为什么可以这样。关于 Swift 的学习其实只要看看 Swift 的官方文档就可够了。我之前也列过一些学习资源:来自一线...

没故事的卓同学 ⋅ 2017/07/11 ⋅ 0

swift的数据类型到底是什么尿性 (说点别人没讲明白的)

文初: 如果你对swift的些许了解只局限在 swift中的类型使用struct取代class 多了Optional可选类型 这些最基础的认知,而对其底层设计的原因和原理了解甚少,那这篇文章会给你新的视角,让你...

CoderDancer ⋅ 2017/08/22 ⋅ 0

swift基本语法

1.常量和变量 定义一个常量:let 常量初始化赋值后 不能再次赋值 定义一个变量:var 赋值后 可以在此修改 后面一定要修改 否则选择let 2.Swift有数据类型推导 根据后面的值直接推出来的类型(...

KevinEmily ⋅ 2016/03/05 ⋅ 0

dynamic动态分发,unsafeBitCast,自动调用的闭包-设置时,会设置一个KVO监听

//MARK: - 主题更改时,自动执行 extension NSObject { fileprivate struct AssociatedKeys { static var thmemChanged = "thmemChanged" } /// 当前主题更改时、第一次设置时 自动调用的闭包...

iOS技术者 ⋅ 2017/05/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Confluence 6 从其他备份中恢复数据

一般来说,Confluence 数据库可以从 Administration Console 或者 Confluence Setup Wizard 中进行恢复。 如果你在恢复压缩的 XML 备份的时候遇到了问题,你还是可以对整个站点进行恢复的,如...

honeymose ⋅ 20分钟前 ⋅ 0

myeclipse10 快速搭建spring boot开发环境(入门)

1.创建一个maven的web项目 注意上面标红的部分记得选上 2.创建的maven目录结构,有缺失的目录可以自己建立目录补充 补充后 这时候一个maven的web项目创建完成 3.配置pom.xml配置文件 <proje...

小海bug ⋅ 33分钟前 ⋅ 0

nginx.conf

=========================================================================== nginx.conf =========================================================================== user nobody; #......

A__17 ⋅ 35分钟前 ⋅ 0

645. Set Mismatch - LeetCode

Question 645. Set Mismatch Solution 思路: 遍历每个数字,然后将其应该出现的位置上的数字变为其相反数,这样如果我们再变为其相反数之前已经成负数了,说明该数字是重复数,将其将入结果r...

yysue ⋅ 49分钟前 ⋅ 0

Python这么强?红包杀手、消息撤回也可以无视,手机App辅助!

论述 标题也许有点不好理解,其实就是一款利用Python实现的可以监控微信APP内的红包与消息撤回的助手。不得不说,这确实是一款大家钟意的神器。 消息撤回是一件很让人恶心的事,毕竟人都是有...

Python燕大侠 ⋅ 今天 ⋅ 0

压缩打包介绍、gzip压缩工具、bzip2压缩工具、xz压缩工具

压缩打包介绍 压缩的好处不仅能节省磁盘空间而且在传输的时候节省传输时间和网络带宽 windows系统下文件带有 .rar .zip .7z 后缀的就是压缩文件 linux系统下则是 .zip, .gz, .bz2, .xz, ...

黄昏残影 ⋅ 今天 ⋅ 0

观察者模式

1.利用java原生类进行操作 package observer;import java.util.Observable;import java.util.Observer;/** * @author shadow * @Date 2016年8月12日下午7:29:31 * @Fun 观察目标 **/......

Cobbage ⋅ 今天 ⋅ 0

Ubuntu打印服务器配置

参考:https://blog.csdn.net/gsls200808/article/details/50950586 https://blog.csdn.net/jiay2/article/details/80252369 https://wiki.gentoo.org/wiki/HPLIP 由于媳妇儿要大量打印资料,......

大熊猫 ⋅ 今天 ⋅ 0

面试的角度诠释Java工程师(二)

原文出处: locality 续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的。为什么我会...

颖伙虫 ⋅ 今天 ⋅ 0

github中SSH的Key

https://help.github.com/articles/connecting-to-github-with-ssh/ https://help.github.com/articles/testing-your-ssh-connection/ https://help.github.com/articles/adding-a-new-ssh-k......

whoisliang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部