1.什么时候使用NSMutableArray,什么时候使用NSArray?
当数组在程序运行时,需要不断变化的,使用NSMutableArray,当数组在初始化后,便不再改变的,使用NSArray。
NSArray是线程安全的,NSMutableArray不是线程安全的,多线程使用到NSMutableArray需要注意。
2.给出委托方法的实例,并且说出UITableVIew的Data Source方法
实例:UITableViewDelegate
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
3.在应用中可以创建多少autorelease对象,是否有限制?
没有限制。
4.如果我们不创建内存池,是否有内存池提供给我们?
界面线程维护着自己的内存池,用户自己创建的数据线程,则需要创建该线程的内存池。
5.什么时候需要在程序中创建内存池?
用户自己创建的数据线程,则需要创建该线程的内存池。
6.什么时候内存计数会增加?
alloc, new, copy以及对象被持有。
7.类NSObject的那些方法经常被使用?
alloc、init、dealloc、class、 description
8.什么是简便构造方法?
+ numberWithBool等类方法
9.如何使用Xcode设计通用应用?
使用MVC模式设计应用
其中Model层完成脱离界面,即在Model层,其是可运行在任何设备上。
在View层,可根据现实要求,来设计,其中以xib文件设计时,其设置其为universal。
在controller层,根据iPhone与iPad(独有UISplitViewController)的不同特点选择不同的viewController对象。
10.在Objetive-C什么是原子关键字?
nonatomic 非原子操作,决定编译器生成的setter getter是否是原子操作,atomic表示多线程安全,一般使用nonatomic。
11.UIView的动画效果有那些?
移动,翻页,溶解,淡入淡出等
12.在iPhone应用中如何保存数据?
通过web服务,保存在服务器上
通过NSCoder固化机制,将对象保存在文件中
通过SQlite或CoreData保存在文件数据库中
13.什么是coredata?
coredata是苹果提供一套数据保存框架,其基于SQlite。
14.什么是NSManagedObject模型?
NSManagedObject是NSObject的子类 ,也是coredata的重要组成部分,它是一个通用的类,实现了core data 模型层所需的基本功能,用户可通过子类化NSManagedObject,建立自己的数据模型。
15.什么是NSManagedobjectContext?
NSManagedobjectContext对象负责应用和数据库之间的交互。
16.什么是谓词?
谓词是通过NSPredicate,是通过给定的逻辑条件作为约束条件,完成对数据的筛选。
predicate = [NSPredicate predicateWithFormat:@"customerID == %d",n];
a = [customers filteredArrayUsingPredicate:predicate];