class UIViewSpringAnimator: SwipeAnimator {

// 动画完成的闭包

var completion:((Bool) ->Void)?

func addCompletion(completion:@escaping (Bool) ->Void) {

self.completion = { [weakself] finished in

guardself?.isRunning ==true else {return }

self?.isRunning =false

self?.animations =nil

self?.completion =nil

completion(finished)

}

}

}

 
[weak self] 的作用

最新文章

  1. SQL Server : Browser服务
  2. javaweb 中的路径问题汇总
  3. NPOIHelper
  4. mysql5.6版本开启数据库查询日志方法
  5. hdu 5102 树上前k短路径长度和
  6. c# 重写索引
  7. MyEclipse 10离线安装PyDev插件
  8. python发布模块的原理及部分讲解
  9. C# 时间戳
  10. SSI框架总结
  11. 【Mysql】MySQL与Oracle的大小写问题
  12. mysql下如何删除本节点下的所有子节点小记
  13. bzoj4559[JLoi2016]成绩比较 容斥+拉格朗日插值法
  14. 记录心得-shiro框架demo示例
  15. 自定义Chrome浏览器
  16. python 的基础学习 第九天 文件的操作
  17. bootstrapTable
  18. SpringMvc执行过程
  19. Javascript事件设计模式(七)
  20. 阿里云香港B区通过IPV6规避Google验证码

热门文章

  1. layui表格的新增和编辑功能前端代码
  2. wechat4j开发所有jar包
  3. datatable.rows.indexof(dr)返回的是啥?
  4. mysql面试几个问题
  5. 用IIS怎样在局域网内建网站
  6. requests模块的高级用法
  7. 用 Java 技术创建 RESTful Web (服务 JAX-RS:一种更为简单、可移植性更好的替代方式)
  8. "啃下"插入排序
  9. 20121124.Nodejs创建HTTP程序.md
  10. Git学习总结(8)——Git和SVN之间的基本区别