一、多态的概念 一说起面向对象语言的三大特性,你可能会脱口而出:封装、继承、多态。那什么是多态呢,你或许可以背出关于多态的定义,可以举出关于猫、狗吃东西的例子,但你真的理解多...
Swift协议 协议规定了用来实现某一特定功能所必需的方法和属性 类、结构体、枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。能够满足协议要求的类型被称为遵...
从一个具体需求说起 应用中有多个页面内的UICollectionViewCell需要实现一个相同的小动画:被选中时,先缩小到原来的0.8倍,再回弹到0.9倍。动画本身实现起来...
传统的协议(比如Objective-C的protocol,Java的Interface)只能定义接口,不能复用实现,遵守同一个协议的不同的类,只能分别实现协议接口,使用场景受限了很多。Swift只是多了一个协议扩展的特性,但却带来了编程范式的进化。这句话好厉害啊!说得很到位!
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富文本三 —— UILabel支持选择复制以及实现原理CJLabel经过若干版本迭代,各个功能已经日趋完善,并且不断精细,特别是在V4.0.0版本迎来了重头戏:新增enableCopy属性,支持选择、全选、复制功能,类似UITe...
CJLabel经过若干版本迭代,各个功能已经日趋完善,并且不断精细,特别是在V4.0.0版本迎来了重头戏:新增enableCopy属性,支持选择、全选、复制功能,类似UITe...
介绍copy和mutableCopy 介绍深拷贝与浅拷贝 block为什么要用copy copy相对于直接赋值的好处 总结 预备知识 : 堆 : 一般由程序员分配释放, 若程...
基本概念 1、什么是核心动画 Core Animation(核心动画)是一组功能强大、效果华丽的动画API,无论在iOS系统或者在你开发的App中,都有大量应用。核心动画所在...
前言: 按照时间顺序,事件的生命周期是这样的:事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的view、寻找最合适的view的底层实现、拦截事件的处理)->找到...
这是自己没事写的小demo,实现标签根据标签的文字长度进行流式布局。效果如下 10行代码即可实现,简单易懂,废话不说,上代码 代码就是这样了,是不是很简单?
大文件移除 字体、开机视频(十几M)可以通过在后台服务器下载,存入本地使用,放在本地文件中会很大,需要移除 图片资源,无用的可以删除。(png能达到2~3M,gif或者mp3...
背景: 日常的项目经过长时间的迭代,优化,重构之后,可能会积累一些用不到了的类,长久下去,会影响我们的包大小。定期的检测,可以在一定程度上控制ipa的增大<话说不是砍需求才是...
前言: 学iOS也有段时间了,由于当初学的时候没有基础,现在反过来看自己一些基础控件的用法都还没搞清楚,所以想总结一些重要控件的用法 -- 本文大部分转载自 -> 珲少博客 ...