
面试
文章平均质量分 60
Army_Ma
这个作者很懒,什么都没留下…
展开
-
object-c 经典实用面试题+自己总结的答案(10)
35. NSOperationQueue 和 GCD 的区别。NSOpertaionQueue用GCD构建封装的,是GCD的高级抽象。GCD仅仅支持FIFO队列,而NSOperationQueue中的队列可以被重新设置优先级,从而实现不同操作的执行顺序调整。GCD不支持异步操作之间的依赖关系设置。如果某个操作的依赖另一个操作的数据(生产者-消费者模型是其中之一),使用NSOperationQueue能够按照正确的顺序执行操作。GCD则没有内建的依赖关系支持。NSOperationQueue支持K原创 2022-04-06 12:29:28 · 207 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(9)- 原生与WKWebview的js调用专题
34.js调用WKWebView- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ if ([navigationAction.request.URL.absoluteString hasPre原创 2022-04-06 12:28:36 · 309 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(8)- 算法专题
29.算法快速排序1 ).设置两个变量i,j ,排序开始时i = 0,就j = mutableArray.count - 1;2 ).设置数组的第一个值为比较基准数key,key = mutableArray.count[0];3 ).因为设置key为数组的第一个值,所以先从数组最右边开始往前查找比key小的值。如果没有找到,j–继续往前搜索;如果找到则将mutableArray[i]和mutableArray[j]互换,并且停止往前搜索,进入第4步;4 ).从i位置开始往后搜索原创 2022-04-06 12:26:39 · 167 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(7)- 蓝牙开发专题
28.蓝牙开发简单介绍使用.cocoa详细蓝牙使用链接蓝牙连接可以大致分为以下几个步骤建立一个Central Manager实例进行蓝牙管理搜索外围设备连接外围设备获得外围设备的服务获得服务的特征从外围设备读数据给外围设备发送数据其他:提醒首先我们先导入系统的BLE的框架,必须遵守2个协议CoreBluetooth/CoreBluetooth.h/* 中心管理者 /@property (nonatomic, strong) CBCentralManager *cMgr;原创 2022-04-06 12:25:20 · 1521 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(6)
26.copy 关键字。平时我们使用对象之间的传值都是采用retain count +1的方式,这种方式的适用于当对象的某属性的值改变时,引用该对象的不同指针会同时改变,因为这两个指针指向的是同一个内存地址,但如果需求是,当一个指针执行的对象属性值发生改变时,不影响另一个对象,那么需要分配两个不同的内存地址,也就是说,我们就不可以采用retain关键字了,而是要采用copy关键字,因为copy关键字会在复制时重新创建一个新的对象。各种属性定义关键字strong :除NSString\block以原创 2022-04-05 17:20:21 · 2111 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(5)
21. 谈谈 iOS 的内存管理iOS 的内存管理(OC)是基于引用计数的,在程序中,每一个对象都有一个与之相关联的整数,我们可以称之为引用计数器或者是保留计数器(retain counting),当我们需要使用一个对象的时候,需要将该对象的引用计数加 1, 当我们结束对一个对象的访问时,我们需要将引用计数减 1。当对象的引用计数减少为 0 的时候,系统会自动释放该对象所占用的内存,以便内存的复用。当然,想要很好地在程序中利用引用计数管理好内存是需要一定的技巧的,这里,列出三条内存管理的规则,说是规则,不原创 2022-04-05 17:18:19 · 264 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(4)
16. 在 ARC 下 不显示制定属性关键字,默认有哪些关键字。atomic,readwrite,strong(对象),assign(基本数据类型)。17. 能否向编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?因为编译后类的相关的信息已经注册在 runtime 之中了,类在运行的过程中维护类的数据结构所占的内存的大小已经确定了,此时,不可能向类中再添加具体的实例变量了;在运行时创建的类不一样,在没有调用相应的函数(objc_registerClassPair )之前,是可原创 2022-04-05 17:17:16 · 1829 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(3)
11. 参数传入 NSError **12. NSObject 有没有父类。他的 super class 指向哪。isa 指向那。*NSObject没有父类,他的super class 指向nil.isa指针指向自己.OC中每个类中都包含一个isa变量,显然这里的isa是指向另一个类的指针,说白了就是表明这个类是哪个类的实例,以便找到代码中调用的本类或父类的类方法。对于NSObject及其子类,指向的就是它的元类,正如实例中也有个isa指针指向其所属的类一样。而对于元类,每个元类的isa都指向根元类。原创 2022-04-05 17:16:00 · 2898 阅读 · 0 评论 -
object-c 经典实用面试题+自己总结的答案(2)
6. key 和 keypath 的区别在iOS开发中经常碰到重载方法有传key和keypath两种,但是一直搞不清楚他们两的区别,最近研究了一下官网KVC编程对key和keypath的区别有了具体的认识:例如:KVC编程时setValue(value: AnyObject?, key: String)和setValue(value: AnyObject?, keypath: String)key:只能接受当前类所具有的属性,不管是自己的,还是从父类继承过来的,如view.setValue(CGRe原创 2022-04-05 17:14:51 · 184 阅读 · 0 评论