首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
iOS知识琐记
皮乐皮儿
创建于2021-10-16
订阅专栏
记录iOS学习知识点
等 10 人订阅
共33篇文章
创建于2021-10-16
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
iOS-基于ZFPlayer封装的一款音频播放器
前言 先来看一下效果,音频条是可以全局展示的,录屏里没有体现到其他页面时显示音频条的场景,实际是可以的 要实现音频条与音频详情页的数据共享联动效果,需要定制一个播放单例实例,动态地更改播放器的cont
iOS-小说阅读器功能拆分之处理标签中的图片宽高
前言 根据html构建富文本 DTHTMLAttributedStringBuilder是DTCoreText提供的构建富文本的工具类,它里面有willFlushCallback回调,在这里可以拿到每
iOS-小说阅读器功能拆分之笔记划线
划线要点 笔记划线在小说阅读器中是非常常见和重要的功能点,那么笔记划线的两要素就必须要知道 起始位置 结束位置 在添加笔记的时候,需要将划线文本的起始和结束位置传递给后端,此外就是笔记内容,有一个特殊
iOS-小说阅读器功能拆分之长按选中文本
渲染 由于要渲染图文或者html支持,我这里选用的是DTCoreText,它对html格式的支持非常友好,而且可以自定义图片及特殊tag的样式定制 我用的是 DTAttributedLabel ,阅读
iOS-小说阅读器功能拆分之含有多级章节的目录情况处理
之后会出几篇小说阅读器功能拆分后的一些细节点如何来实现,大致包括: 目录,分章节 长按选中文本 笔记划线定位 如何处理每一页首行缩进 下载与解析联动 如何处理标签中的图片宽高 链接和图片的点击事件 以
iOS 小说阅读器-WLReader 介绍
一款完整的小说阅读器功能包含: 阅读主页面的图文混排 翻页效果:仿真,平移,滚动,覆盖,无效果 设置功能:字号更改,字体更改,阅读背景设置,亮度调整,章节切换,查看大图,笔记划线,书签标记 阅读记录
iOS面试题回忆
一、 项目包体积优化 影响安装包体积大小的三个因素: Xcode 配置 资源文件 代码层面 资源文件瘦身 移除未使用资源(图片,音频,gif等资源) 删除x1图片 压缩图片等资源文件 删除重复文件 部
Flutter与原生通信之EventChannel
EventChannel 是原生向Flutter传递数据流的通道,属于单向传输,只能由原生端调用,Flutter端是接收信息,常见的有网络变化监听,屏幕横竖屏切换,位置切换,电池电量,远程通知等事件。
Flutter与原生交互方式之BasicMessageChannel使用
BasicMessageChannel 也是双向交互,发送字符串和半结构化信息,有返回值 下面以Flutter与原生iOS交互为例看一下用法 Flutter端 需要在Flutter端创建一个chann
Flutter与原生交互方式之MethodChannel使用
MethodChannel 是Flutter与原生交互的一种方式,此种方式传递的是方法,可以双向传递,可以携带参数,双向传递都可以有返回值 Flutter给原生端发送消息 Flutter端代码配置
iOS 自动打包脚本配置及上传到TestFlight
公司打包并不统一,测试取包走的是自动打包流程,App打包上传到TestFlight以供审核采用的是人工打包及上传,人力重复劳动就很不舒服,所以搜索资料搞了搞自动打包与自动上传TestFligt
atomic 修饰属性的原子性和不能保证绝对线程安全问题解释
原子性 atomic 修饰的属性,内部会自动生成 setter getter 方法,且在生成setter getter 方法时,内部使用了 os_unfair_lock 进行加锁处理,保证了读写的原子
iOS 线程安全和锁机制
一、线程安全场景 多个线程中同时访问同一块资源,也就是资源共享。多牵扯到对同一块数据的读写操作,可能引发数据错乱问题。 比较经典的线程安全问题有购票和存钱取钱问题,为了说明读写操作引发的数据混乱问题,
PromisesObjC 使用与源码解析
有没有被上面的嵌套整蒙?当然开发中嵌套如此多层的也有但不多见,然鹅这样一坨代码写在那里终归不美观(当然你要是觉得有层次感,那我也没法,不过话题还是要继续),很不利于后期的维护和修改。 在调用层面是不是感觉很舒服?而且调用的逻辑语义也显而易见,如果你觉得很爽,那么就接下来一起聊聊…
设计模式学习之中介者模式
用一个中介对象来封装一系列的对象交互,中介者使得各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 如此中介者需要知道所有的对象,其他对象只和中介者交互,而不用彼此交互,就可以解耦对象之间的关系。 产品提出需求,由开发组进行开发实现。如果没有中介者…
设计模式学习之原型模式
订单分为个人订单和公司订单,客户对订单的要求如下:当订单的预定产品数量超过500时,需要将订单拆成两份订单来保存,如果拆分后的子订单数量依然超过500,那就继续拆分,直到每一份订单的数量都小于500为止。 如图所示,通过if,else的判断操作,我们也能实现这种需求,但是这样有…
设计模式学习之生成器模式
理想中的状态应该是构建每种格式的数据文件处理过程和具体的实现步骤应该是分开的,这样可以很好地切换不同的文件格式,那么这样该如何实现呢?下面就进入生成器模式的学习。 ConcreteBuilder:具体生成器的实现,实现各个部件的创建,并负责组装Product对象的各个部件,同时…
设计模式学习之工厂方法模式
定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到其子类。 相比较简单工厂来说,工厂方法模式实现起来要麻烦不少,它的特点是一个产品类对应一个工厂类,要增加产品类的时候,也要增加工厂类。就如例子中的四中运算,就要有四个产品类,四个工厂类,工厂是负责生成产…
设计模式学习之单例模式
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
设计模式学习之适配器模式
我有一条苹果充电线,一开始我用的是15款的笔记本电脑,数据线可以直接和电脑连接,我想要通过电脑整理手机中的文件,直接就可以连接电脑。过了一段时间,我换了17新款电脑,发现数据线无法连接到电脑上了,这个时候我就需要一个转接头或者转换器,那么这个转换器就相当于适配器,是要将我的电脑…
下一页