iOS面试题
ZhaiAlan
iOS开发工程师
展开
-
iOS之KVC原理&自定义KVC
前言开发过程中,很多人都会注意到KVO,以及自定义KVO,实际上KVC的作用也是十分强大的,不仅仅是简单的字典转模型,有关使用技巧可以看上篇文章,这篇文章要根据上篇的总结来进行自定义KVC操作;相关代码:KVCCode(上篇代码也在这里)KVC原理实际在自定义过程中主要要注意的2大点:1.KVC设置过程,2.KVC取值过程,1.KVC赋值过程1:非空判断一下2:找到相关方法set<Key>,_set<Key>,_setIs<Key>实例方法进行原创 2020-05-21 11:39:58 · 439 阅读 · 0 评论 -
iOS之你不知道的KVC技巧&KVC原理
前言iOS开发中很多人都知道KVC ,聊到KVC大家也都知道,就是字典转模型,但是再具体聊的话,就说不太清楚了,这篇文章,准备把KVC再来了解一下; XZPerson *person = [XZPerson alloc]; person.name = @"Alan";在调用person.name 会有LLVM编译过程中统一分发给底层的void objc_setProperty_atomic(id self, SEL _cmd, id newVa.原创 2020-05-19 18:16:32 · 708 阅读 · 0 评论 -
iOS卡顿原理及优化方案
前言很多iOS 开发,都会面临到解决开发过程中的卡顿问题,从而也衍生出来很多的方法去解决卡顿问题,这篇文章来描述下iOS卡顿产生的原因,以及一部分解决办法;iOS卡顿原理1.像素是如何显示到屏幕上从最初的电子枪显示器说起,电子枪逐行读取像素点,逐行发射到屏幕上,每当一行扫描完成,显示器会发出水平同步信号HSync;然后继续下一行,直到最后一行完成一帧的绘制,电子枪恢复到起点继续下一帧的绘制,显示器会发出一个垂直同步信号VSync。对于iOS设备,VSync信号的间隔是16.7ms,也就是1秒原创 2020-05-14 09:47:35 · 1983 阅读 · 0 评论 -
面试题之架构设计六大基本原则
前言最近面试,面试被面试官问到,开发中使用到那些架构模式:回答,MVC ,MVVM ,MVP 架构方式,在问MVVM 中遵循了那些架构原则,直接懵逼了,使用到了架构方式,但是并不清楚架构原则都有什么,接着赶紧查询下架构原则;架构架构最重要的就是编程思想:利于开发者 利于公司 利于客户架构六大原则1.单一职责原则(SRP Single Responsibility...原创 2020-05-08 16:58:50 · 1030 阅读 · 0 评论 -
iOS算法提升之四(买卖股票的最佳时机)
题目买卖股票的最佳时机题目解析: 给定一个数组,它的第 i 个元素是一直给定股票 第 i 天的加个。如果只允许完成一逼交易(即 买入和卖出一直股票一次),设计一个算法来计算你所能获取的最大利润注意: 你不能在买入股票之前,卖出股票输入:[7,1,5,3,6,4]输出:5解释:在第2天的时候股票价格=1 的时候买入,在第5天股票价格 = 6 的时候卖出,最大利润 = 6-...原创 2020-05-07 18:14:20 · 310 阅读 · 0 评论 -
面试题之--Charles抓包原理
前言面试官:面试官问我iOS开发过程中使用了那些抓包工具?回复:Charles,Wireshark(可以抓取长连接包)等工具面试官:然后紧接着面试官问我,有没有抓过https的包?回复:使用Charles 工具抓过,面试官:那你说说Charles抓https的抓包原理?回复:如果直接问https的原理(可查看http与https的爱恨情仇),还可以直接回复,问了个这个就懵逼...原创 2020-05-07 15:44:41 · 5698 阅读 · 1 评论 -
iOS 探索KVO二(原理探索)
前言上篇文章介绍了一些KVO的使用方式,包括监听多个字段改变的值,和监听可变数组等;这篇文章来探索一下KVO的实现原理;原理探究首先还是看一下官网的介绍:Key-Value Observing Implementation DetailsAutomatic key-value observing is implemented using a technique calledi...原创 2020-04-29 11:00:43 · 197 阅读 · 0 评论 -
iOS 面试题 sel详解weak本质
1.Runtime是什么?runtime 是由C 和C++ 汇编 实现的⼀套API,为OC语⾔加⼊了⾯向对象,运⾏时的功能2、⽅法的本质,sel是什么?IMP是什么?两者之间的关系⼜是什么?⽅法的本质:发送消息,消息会有以下⼏个流程1:快速查找(objc_msgSend)~cache_t缓存消息2:慢速查找~递归⾃⼰|⽗类~lookUpImpOrForward3:查找不到消息:...原创 2020-04-24 13:45:09 · 805 阅读 · 0 评论 -
iOS 面试题(iskindof)
这篇文章我们对面试题题目是这样的:相关源码:objc4_752源码isa走位图:int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... BOOL re1 = [(id)[NSObject class] isKindOfC...原创 2020-03-12 16:35:16 · 405 阅读 · 0 评论