首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ios
订阅
乾坤轮回
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
线程、多线程与线程池总结
了解更多线程相关的概念,查看 Demo 加深对线程相关的使用与控制
iOS面试题01-基础篇
通过 retainCount 的机制来决定对象是否需要释放。 每次 runloop 的时候,都会检查对象的 retainCount,如果retainCount 为 0,说明该对象没有地方需要继续使用了,可以释放掉了 // setter=这种不常用,也不推荐使用。故不在这里给出写法
iOS 高级面试题--答案
最近准备复习一下面试题,看到了J_Knight_在18年的出一套 iOS 高级面试题尝试着回答一下题目,由于水平有限,如有错误的地方,请大家多多指教。 1. 分类和扩展有什么区别?可以分别用来做什么?分类有哪些局限性?分类的结构体里面有哪些成员? 3. 被weak修饰的对象在被…
iOS 原理探究-互斥锁
在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。对于互斥锁,如果资源已经被占用,资源申请者只能进入睡眠状态。 互斥锁又分为递归锁和非递归锁。 递归锁是一种可以多次…
有赞移动 iOS 组件化(模块化)架构设计实践
业务组件化(或者叫模块化)作为移动端应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。有赞移动团队自16年起也在不断尝试各种组件化方案,在有赞微信商城,有赞零售,有赞美业等多个应用中进行了实践。我们踩过一些坑,也收获了很多宝贵的经验,并沉淀出 iOS 相关框架 Bi…
IOS面试考察(九):性能优化相关问题
1. IOS面试考察(九):性能优化相关问题 APP的启动时间,直接影响用户对你的APP的第一体验和判断。如果启动时间过长,不单单体验直线下降,而且可能会激发苹果的watch dog机制kill掉你的APP,那就悲剧了,用户会觉得APP怎么一启动就卡死然后崩溃了,不能用,然后长…
J_Knight_ iOS 高级面试题 基础题解答
extension可以添加实例变量,而category是无法添加实例变量的(因为在运行期,对象的内存布局已经确定,如果添加实例变量就会破坏类的内部布局,这对编译型语言来说是灾难性的)。 可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处, 4:可以按需加载想要的…
iOS Runtime详解
我们从下面几个方面探寻Runtime的实现机制。 Runtime其实有两个版本: “modern” 和 “legacy”。我们现在用的 Objective-C 2.0 采用的是现行 (Modern) 版的 Runtime 系统,只能运行在 iOS 和 macOS 10.5 之后…
今日头条 iOS 客户端启动速度优化
应用启动时间,直接影响用户对一款应用的判断和使用体验。头条主 app 本身就包含非常多并且复杂度高的业务模块(如新闻、视频等),也接入了很多第三方的插件,这势必会拖慢应用的启动时间,本着精益求精的态度和对用户体验的追求,我们希望在业务扩张的同时最大程度的优化启动时间。
阿里、字节 一套高效的iOS面试题解答(持续更新,最后更新3.26)
1. 介绍下runtime的内存模型(isa、对象、类、metaclass、结构体的存储信息等) 2. 为什么要设计metaclass 3. class_copyIvarList & class_copyPropertyList区别 class_copyPropertyList…