一、多态的概念 一说起面向对象语言的三大特性,你可能会脱口而出:封装、继承、多态。那什么是多态呢,你或许可以背出关于多态的定义,可以举出关于猫、狗吃东西的例子,但你真的理解多...
一、多态的概念 一说起面向对象语言的三大特性,你可能会脱口而出:封装、继承、多态。那什么是多态呢,你或许可以背出关于多态的定义,可以举出关于猫、狗吃东西的例子,但你真的理解多...
Swift协议 协议规定了用来实现某一特定功能所必需的方法和属性 类、结构体、枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。能够满足协议要求的类型被称为遵...
从一个具体需求说起 应用中有多个页面内的UICollectionViewCell需要实现一个相同的小动画:被选中时,先缩小到原来的0.8倍,再回弹到0.9倍。动画本身实现起来...
dart版本:(stable) 2.2.2(空安全)connectivity:^3.0.6shared_preferences:^2.0.6注:我是抄后改成适合自己的,不过网...
一、前言 随着项目功能的不断增加,越来越多的开发人员加入,业务主线也随之越来越多,造成耦合越来越严重,编译越来越慢,测试不独立等一系列问题。为了解决此类情况,我们可以考虑到使...
Block的底层基本结构 通过clang命令查看编译器是如何实现Block的,在终端输入clang -rewrite-objc main.m,然后会在当前目录生成main.c...
上一篇文章介绍了CJLabel的实现,在V2.0.0版本之前,CJLabel的图文显示是基于NSAttributedString来实现的,但有若干不足: 图片点击响应只支持e...
CJLabel经过若干版本迭代,各个功能已经日趋完善,并且不断精细,特别是在V4.0.0版本迎来了重头戏:新增enableCopy属性,支持选择、全选、复制功能,类似UITe...
介绍copy和mutableCopy 介绍深拷贝与浅拷贝 block为什么要用copy copy相对于直接赋值的好处 总结 预备知识 : 堆 : 一般由程序员分配释放, 若程...