1.category和extern的区别
答:1.分类是有名称,类扩展(extern)没有名称
2.分类只能扩充方法; 不能扩充成员变量; 类扩展(extern)可以扩充方法和成员变量.
3.类扩展(extern)一般写在.m文件中,用来扩充私有方法和成员变量(属性).
2.KVC和KVO的区别?
答: 1. KVC是Key-Value Coding键值编码,可以通过一个字符串的key(属性名)修改对象的属性.
2.KVO是Key-Value Observing键值观察,是建立的KVC之上的,可以监听一个对象属性值的改变.
3.通知和代理的区别?
答:1.通知NSNotification可以给多个对象传递数据和消息.
2.通过protocol(代理模式)只能给一个对象传递数据和消息.
4.什么是推送通知?
答:1.本地推送:程序内部弹出通知到用户设备
2.远程推送:由推送服务器推送通知到用户设备.
5.frame与bounds的区别?
答: 1.frame以父控件的左上角为坐标原点.
2.bounds以控件本身的左上角为坐标原点.
6.数据持久化方式有哪些?
答: 1.属性列表(PropertyList).
2.Preference(NSUserDefaults).
3.键值归档(NSKeyedArchiver NScoding).
4.SQLite3数据库.
5.Core Data .