iOS开发
未读
cuur25519加密 ed25519
先导入这两个库 <openssl/rand.h> <openssl/evp.h> 这里使用的openssl加密套件版本是3.0.7 @property (nonatomic, copy) NSString *publicKey;
@property (nonatomic, copy) NSStrin
iOS开发
未读
block、delegate、notification的区别
Block 特点 Block是带有上下文和捕获的闭包。 使用Block可以让代码更简洁,尤其适用于异步操作和回调。 可以内联定义,使用起来非常灵活。 适用场景 适用于异步操作完成后的回调。 如网络请求、动画完成等。 适用于需要在同一作用域内完成的短期任务。 Delegat
iOS开发
未读
商城界面会有很多内容,你做过什么优化
UI/UX优化 首先需要做好界面适配,保持用户在不同尺寸上的显示和操作都正常 使用骨架屏,在数据加载的时候显示骨架屏,尽量减少用户等待的视觉体检 边浏览边加载,不要一次性加载整个列表数据,特别是要减少初次加载数据的时间 数据加载和缓存,网络请求优化 对必要的数据做缓存处理,像一些常用的静态数据
iOS开发
未读
MVC和MVVM有什么区别
MVC: 简单直观,但控制器容易变得复杂和难以维护。 MVVM: 更好地分离视图和业务逻辑,通过数据绑定简化视图更新和状态管理,更易于测试。适用于复杂的应用程序开发,尤其是有大量UI交互的移动应用。 MVC MVC是一种架构思想,全称Model-View-Controller,即模型-视图-控制器,
iOS开发
未读
判断一个地址是否为IPV4
class 实现一个判断ipv4的逻辑: BaseViewController {
var testArray: [String] = ["192.168.1.1", "255.255.255.255", "0.0.0.0", "256.1.1.1", "123.045.067.0
iOS开发
未读
聊聊iOS开发中堆与栈的区别
堆一般是存放对象的,栈一般是存放方法、变量的。 堆存储的是对象、实体,栈存储的方法参数和局部变量(存储的内容不同)栈是由编译器自动管理,无需手动控制;堆则由程序员控制,如内存区域的申请(new)和释放(release),容易内存泄漏(管理方式的不同)栈空间很小。栈是向低地址扩展的数据结构,是一块连续
iOS开发
未读
TCP 和 UDP的小总结
TCP 建立连接 形成传输数据的通道 在连接中进行大数据的传输(数据大小不受限制)通过三次捂手完成链接 是可靠的协议 安全的送达 特点: 必须建议链接 效率会稍低 场景: 数据文件的下载 udp 只管发送 不确认对方是否接收到 将数据及源目的封装成数据包中 不需要建立连接 每个数据的大小限制在64K
iOS开发
未读
内存管理之NSTimer定时器
CADisplayLink 它一个定时器 是用于同步屏幕刷新频率的计时器 CADisplayLink其实也是一个定时器,只不过这个定时器不用你来设置时间,它是要保证调用频率和屏幕的刷帧频率一致,通常来说大概是60FPS(一秒钟会调用60次),当然如果你主线程要是做了很多耗时操作的话也可能就不到60了