IOS面试题目学习

作者: shanshan950224 | 来源:发表于2015-12-10 10:24 被阅读298次

OC有多继承吗?没有的话用什么代替?

OC中没有多继承,可以用委托代理`Protocol`来实现。

Objective-C如何对内存管理的?内存管理的原则是?

  • Objective-C的内存管理主要有三种方式ARC(自动引用计数)MRC(手动内存计数)autorelease(自动释放池)
每个对象都有一个引用计数器,每个新对象的计数器是1,当对象的计数器减为0时,就会被销毁。
  • 内存管理原则(配对原则):只要出现了new/alloc/retain,就一定配对出现一个release/autorelease

Object C中创建线程的方法是什么?如果在主线程中执行代码,方法是什么?如果想延时执行代码、方法又是什么?

  • 线程创建有三种方法:使用NSThread创建、使用GCD的dispatch、使用子类化的NSOperation,然后将其加入NSOperationQueue;
    在主线程执行代码,方法是performSelectorOnMainThread,如果想延时执行代码可以用
performSelector:onThread:withObject:waitUntilDone:;

浅复制和深复制的区别?

  • 浅复制:只复制指向对象的指针,而不复制引用对象本身。

  • 深复制:复制引用对象本身。

意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,
复制的只不过是是一个指针,对象本身资源还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的
对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了两份独立对象本身。

 用通俗的话讲就是:
浅复制好比你和你的影子,你完蛋,你的影子也完蛋;
深复制好比你和你的克隆人,你完蛋,你的克隆人还活着。
自己理解的:
就是在Xcode中引用别的工程的文件,而且没有将工程的文件拷贝到工程的总文件
中,那么在原工程文件中将这个文件删除,那么在引用文件的工程中,就会显示错误。所以这就是浅复制。
深复制同理。

相关文章

  • IOS面试题目学习

    OC有多继承吗?没有的话用什么代替? Objective-C如何对内存管理的?内存管理的原则是? Objectiv...

  • iOS面试题目学习

    oc消息机制https://www.cnblogs.com/zhaoyunboy/p/objc_msgsend-a...

  • 2020年,精选大厂的iOS面试题总结(一)

    iOS面试题目录(一) 精选大厂的iOS面试题总结(一)精选大厂的iOS面试题总结(二) 1. iOS内存管理机制...

  • iOS 面试基础题目

    题目来自博客:面试百度的记录,有些问题我能回答一下,不能回答的或有更好的回答我放个相关链接供参考。 Objecti...

  • ios 面试 188题目

    看到记录一下, 你要的这里都有; 企业要的这里也有; 从基础开始到进阶、深入底层 整理出188个面试题,全是干货 ...

  • 面试相关资料

    2018 iOS面试题系列2019 iOS 面试题大全(补充完整版)面试题学习交流常见的一些面试题

  • iOS 面试题目

    1.是否熟知CocoaPods?它是什么?如何运行的? 2.Apple Pay是什么? 3.iOS 后台多任务处理...

  • iOS 面试题目

    https://mp.weixin.qq.com/s?__biz=MjM5OTM0MzIwMQ==&mid=265...

  • ios面试题目

    Objective-C是一门动态的语言 ① 什么是动态语言? 动态语言,是指程序在运行时可以改变其结构:新的函数可...

  • iOS 面试题目

    什么是arc?(arc是为了解决什么问题诞生的?) 请解释以下keywords的区别: assign vs wea...

网友评论

    本文标题:IOS面试题目学习

    本文链接:https://www.haomeiwen.com/subject/lpqyhttx.html