![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 53
xiazhengcheng
这个作者很懒,什么都没留下…
展开
-
关于NSString、NSArray、NSDictionary作为属性的时候为什么要用copy,而非strong
关于NSString、NSArray、NSDictionary作为属性的时候为什么要用copy,而非strong原创 2023-04-04 21:51:12 · 243 阅读 · 0 评论 -
H5通过Universal Link(通用链接)唤起app
问题:之前使用的通过网页打开app都是通过URL scheme打开app,但是我们在开发的过程中遇到过一个奇怪问题,本地的debug的时候都是可以正常打开的,但是打成安装包之后URL scheme没有起作用,解压了安装包,里面也是有配置的URL scheme,于是决定换Universal Link的方法去完成本次续期,当然在使用Universal Link过程中也遇到过很多坑,下面就简单介绍下:Universal Link简介:Universal Link是苹果在WWDC 2015上提出的iOS 9的新原创 2022-01-13 19:20:14 · 4297 阅读 · 0 评论 -
swift之代理
swift之代理详解和使用前言代理是一种设计模式。它允许类(Swift中的结构体)将自身负责的功能委托给其他的类型的实例示例。多用于反向传值问题等应用反向传值应用,这个和objective_c的写法类似,如果熟悉oc的同学对此不会陌生1.创建ViewControllerprotocol SecondDelegate:NSObjectProtocol { func saveName(_ nameStr: String)}class SecondViewController: UIVie原创 2021-10-14 19:32:37 · 1089 阅读 · 0 评论 -
pod install libwebp遇到的坑
cocoapods使用过程中遇到的坑1.拉取一些库失败例如libwebp原创 2021-08-20 21:08:43 · 429 阅读 · 0 评论 -
自定义自旋锁
自旋锁原理如果共享数据已经有其他线程加锁了,线程会以死循环的方式等待锁,一旦被访问的资源被解锁,则等待资源的线程会立即执行。自旋锁的主要特征1.不停的去获取锁的状态2.等待不休眠2.锁释放立即获取到锁,去执行具体代码实现:/** 创建自旋锁的结构体 flag 标记锁的状态 */struct XZCSpinLock { var flag = 0 mutating func lock() { while (self.setFlag() != 0) {原创 2021-03-18 17:09:17 · 102 阅读 · 0 评论 -
ios开发之离屏渲染
前言在介绍离屏渲染之前,首先理解下这个概念,什么是离屏渲染,为什么会出现离屏渲染,以及如何避免离屏渲染。GPU屏幕渲染有两种方式:(1)On-Screen Rendering (当前屏幕渲染)指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区进行。(2)Off-Screen Rendering (离屏渲染)指的是在GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作。当前屏幕渲染不需要额外创建新的缓存,也不需要开启新的上下文,相对于离屏渲染性能更好。但是受当前屏幕渲染的局限因素限制(只有自身上原创 2021-03-13 00:14:31 · 238 阅读 · 0 评论