1、与alloc对应的方法是dealloc,与retain对应的方法是release(autorelease)
2、@property的作用是申明属性及其特征,@synthesize的作用是自动生成属性的访问器(getter、setter)方法
3、一个对象的dealloc方法在 引用计数(retainCount)降为0 时被调用
4、分类(categories)能够向一个已有的类中添加 方法
5、拓展(extensions)能够在当前类中增加 属性和方法
6、iOS开发者账号中,最多能够添加 100台设备号
7、协议(protocol)可以分为两种,其中以关键字 @optional 申明的协议可以不被实现
8、NSObject 是大多数Objective-C类继承的根类,它没有父类
9、代理(delegate)的作用是让一个对象实现另外一个对象的方法
10、UIViewController的didReceiveMemoryWarning方法在 系统内存不足 是会调用
11、autorelease的作用是延后调用release方法(将对象放入自动释放池)
12、iOS后台运行时在 iOS4.0 系统版本才开始支持
13、在KVC中通用的属性访问器方法是 valueForKey: 和setValue:forKey:
14、关键字nil 在Objective-C中表示 一个空对象
15、#import和#include的区别是 #import可以避免文件被多次调用
16、在oc中不支持 运算符重载,不能在头文件里面申明私有方法
17、在Instruments工具中,用于检查内存泄漏的工具是Leaks
18、在iOS开发环境下,后缀为.a的文件又叫做 静态库
1、在oc中, 类的成员变量默认被申明为@protected
2、iPhone、iPad、iTouch中使用的架构是 arm
3、关于oc++中的异常处理,说法最正确的是:在OC++中,oc的异常处理不能捕获到C++的异常
4、iOS开发中,HTTPS通讯是在 NSURLConnection代理方法里 来保障安全性
5、关于NSURLConnection同步通讯和异步通讯,一般不在主线程中使用同步通讯,因为会引起主线程阻塞
6、UIBUtton的标准类型是UIButtonTypeRoundedRect、UIButtonTypeContactAdd、UIButtonTypeInfoLight
7、在给UIButton设置图片时,为了让图片时应按钮的大小,需要将按钮的contentMode设置为:UIViewContentModeScaleAspectFill
8、UIControl继承于UIView
9、关于应用程序目录在更新、恢复和更新过程的变化,说法正确的是在备份过程中Library/Caches目录会被备份;在应用程序更新过程中,/Documents目录会被保留;在应用程序更新过程中,/Library/Preferences目录会被保留
10、iPhone上,不能被应用程序直接调用的系统程序是 日历
11、下列UIView的方法中,layoutSubView在iOS5.0前后的系统调用机制不同
12、构造UIImage的方法中,占用内存最大的方法是imageNamed
13、NSXMLParser对象不能调用initWithContentsOfFile方法进行构造
14、关于iCloud,说法正确的是可以通过程序,将一个文档保存到用户iCloud里;可以通过程序,将iCloud里只保存一个键值对;不能在模拟器上测试iCloud程序;程序使用iCloud时,只需要使用相应的API即可,不需要额外的配置(这个说法是错误的)
15、应用程序大小超过20MB时,只能通过WiFi从AppStore上下载
1、alloc、retain、copy关键字会引起对象的引用计数(retainCount)加一 init不能引起对象的引用计数加一
2、关于XML和JSON,说法正确的是XML是一种类似HTML的语言,JSON是一种轻量级的数据交换格式;JSON和XML之间可以相互转换
3、关于iOS程序后台运行,说法正确的是程序可以在后台播放音乐;程序可以在后台收集用户位置信息;程序可以在后台运行VOIP服务
1、什么是安全释放 即置nil 再释放
2、单例的好处 节省内存
3、什么是序列化和反序列化,可以用来做什么?如何在OC中实现复杂对象的存储?
序列化是把对象转化成字节序列的过程,反序列化是将字节序列恢复成对象
将对象写到文件或者数据库里,并且能读取出来
遵循NSCoding协议 实现复杂对象的存储 实现该协议后可以对其进行打包或解包,转化成NSData
4、iPhone os有没有垃圾回收机制?简单阐述一下OC内存管理
iPhone os没有垃圾回收机制 OC的内存管理是谁创建谁释放 程序中遇到retain 该对象引用计数+1 遇release该对象引用计数-1 retainCount为时 内存释放
5、简述应用程序按Home键进入后台时的生命周期,以及从后台回到前台时的生命周期?
进入后台时
-(void)applicationWillResignActive:(UIApplication *)application;
-(void)applicationDidEnterBackground:(UIApplication *)application;
进入前台时
-(void)applicationDidEnterForeground:(UIApplication *)application;
-(void)applicationWillResignActive:(UIApplication *)application;
6、ViewController 的alloc、loadView、ViewDidLoad、ViewWillAppear、viewDidUnload、dealloc、init分别是在什么时候调用的?
alloc申请内存时调用
loadView加载视图时调用
ViewDidLoad视图已经加载后调用
viewWillAppear视图将要出现时调用
viewDidUnload视图已经加载但是没有加载出来时调用
dealloc销毁该视图时调用
init视图初始化时调用
7、描述应用程序的启动顺序
程序入口main函数创建UIApplication实例和UIApplication代理实例
在UIAPPlication代理实例中重写启动方法,设置第一个viewController
在第一个viewController中添加控件,实现应用程序界面。
8、为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain
防止循环引用
9、UIImage初始化一张图片有几张方法?
3种
imageNamed:系统会先检查系统缓存中是否有该名字的image,如果有的话,则直接返回,如果没有的话,则先加载图像到缓存,然后再返回。
initWithContentsOfFile:系统不检查系统缓存,而直接从文件系统中加载并返回。
imageWithCGImage:scale:orientation 当scale=1