问题

作者: MyiOS | 来源:发表于2016-06-28 10:47 被阅读42次

1.  Notification和KVO有什么不同?KVO在ObjC中是怎么实现的?

KVO:只能监听属性值的变化,而且有一定的弊端;

在别处修改了属性,也会调用KVO的方法,可能会造成数据错乱

当给一个对象添加监听后,会生成这个类的子类.NSKvoNotifying,并重写被监听属性的set方法;在开发中如果创建了同名的类,会报错

使用Objective-C  强大的runtime功能实现了这个功能。属性类class中并没有实现KVO通知的相关方案,而是在调用addObserver之后定义属性类的子类subclass,subclass里边实现了属性的setter方法,setter方法中实现发动通知的功能。然后subclass中实现class函数,还让返回属性类的class,再让属性类对象的isa指向subclass,这样就伪装成表面上看还是属性类自己实现的通知功能。通过原理我们可以看出 必须使用属性方法或者setValue:forKey方法赋值才会发送通知,直接赋值是不会收到通知的.

2. UIViewController类中didReceiveMemoryWarning默认的操作是什么?

当程序接到内存警告时View Controller将会收到这个消息:didReceiveMemoryWarning

从iOS3.0开始,不需要重载这个函数,把释放内存的代码放到viewDidUnload中去。

这个函数的默认实现是:检查controller是否可以安全地释放它的view(这里view指的是controller的view属性),比如view本身没有superview并且可以被很容易地重建(从nib或者loadView函数)。

如果view可以被释放,那么这个函数释放view并调用viewDidUnload。

你可以重载这个函数来释放controller中使用的其他内存。但要记得调用这个函数的super实现来允许父类(一般是UIVIewController)释放view。

如果你的ViewController保存着view的子view的引用,那么,在早期的iOS版本中,你应该在这个函数中来释放这些引用。而在iOS3.0或更高版本中,你应该在viewDidUnload中释放这些引用。

3. 存放数字用什么类型?存放CGRect用什么类?

NSNumber存放数字,NSValue可以存放CGrect

4. 简述HTTP通信中的阻塞与非阻塞方式

阻塞模式和非阻塞模式的主要区别在于无请求来到时,阻塞模式会一直停在接收函数即accep函数,直到有请求到来才会继续向下进行处理。

而非阻塞模式下,运行接收函数,如果有请求,则会接收请求,如果无请求,会返回一个负值,并继续向下运行。一般来说,使用阻塞模式

的程序比较多,因为阻塞模式是由内核保障等待请求的,当他阻塞时不占用系统资源,而非阻塞模式需要我们人工轮询,占用资源较多。

另外,阻塞模式可以使用select函数设置超时时间,具体可以参考相关书籍。

5. HTTP报文中Content-type有和作用

在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息

6. NSTimer是否是多线程的?使用时是否要加同步锁?

不是,只能加到RunLoop中特定模式下才能工作;不需要,因为它只在单一线程工作

九. main函数执行之前和执行之后,有可能分别会执行什么代码

全局对象的构造函数会在main 函数之前执行,

全局对象的析构函数会在main函数之后执行;

用atexit注册的函数也会在main之后执行。

一些全局变量、对象和静态变量、对象的空间分配和赋初值就是在执行main函数之前,而main函数执行完后,还要去执行一些诸如释放空间、释放资源使用权等操作

进程启动后,要执行一些初始化代码(如设置环境变量等),然后跳转到main执行。全局对象的构造也在main之前。

7. 父类未实现的delegate是否可以由子类实现

可以,父类遵守的协议,子类也会继承这个协议

相关文章

  • 问题,不是问题;问题,还是问题

    问题,不是问题 今天,是到新校舍的第一天。没水没电没床铺,教室里连黑板都没有。面对诸多问题,幸运的是...

  • 问题问题还是问题?

    问题实在是太多了!菜要这样做,不这样做是问题;饭没煮好,也是问题;自己不知道学会搞吃的也是问题;生活好像只剩下无尽...

  • 问题不是问题,如何对待问题才是问题。

    这几天身体状态一直不太好,反复头疼,但仍然坚持上课,我知道我要什么。我渴望找到那个自由绽放的自己。 早上怀着期待的...

  • “问题”不是问题,认为“是问题”才是问题

    大概从一个多星期前,腹部就开始有间断的疼痛感了,有时甚至会很难受。这种感觉在今天上午坐车时达到了最强烈,我简直不知...

  • 问题不是问题,怎样看问题才是问题。

    焦点幸福教师 坚持分享第1349天2020.11.17周二 小风波 1.购物 最近布置班级文化,我从网上购...

  • 问题的问题

    “你别总给我说问题、问题,给我提一些建设性的建议行不?” “你咋变成了意见篓子?” 满腔热血地跑到领导面前表功,结...

  • 问题的问题

    “你别总给我说问题、问题,给我提些建设性的建议行不?” “你咋变成了意见篓子?” 满腔热血地跑到领导面前表功,结果...

  • 问题不是问题!?

    创45:3-5 约瑟对他弟兄们说:“我是约瑟,我的父亲还在吗?”他弟兄不能回答,因为在他面前都惊惶。约瑟又对他弟兄...

  • 问题的问题

    问题家庭的问题是:家长本身用着有问题的方法教育孩子,没问题的孩子也变得有问题。 而且更严重的问题是:家长并没有意识...

  • 问题 的问题

    人大部分时间是在矛盾中挣扎着,有时候是心里想的是这样,但是不得不面对现实和道德,而选择了与内心不相符的决定...

网友评论

      本文标题:问题

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