iPhone开发、ObjectiveC_面试题目

收集了一些常见到问题,能够用做面试题目,供你们参考。 面试

一、ObjC中,与alloc语义相反的方法是dealloc仍是release?与retain语义相反的方法是dealloc仍是release,为何?须要与alloc配对使用的方法是dealloc仍是release,为何? 函数

二、在一个对象的方法里面: spa

self.name = “object”;和 .net

name =”object” 对象

有什么不一样吗? get

三、这段代码有什么问题吗: string

@implementation Person it

- (void)setAge:(int)newAge { io

self.age = newAge; class

}

@end

四、什么是retain count?

五、如下每行代码执行后,person对象的retain count分别是多少

Person *person = [[Person alloc] init];

[person retain];

[person release];

[person release];

六、为何不少内置类如UITableViewController的delegate属性都是assign而不是retain的?

七、定义属性时,什么状况使用copy,assign,和retain

八、autorelease的对象是在何时被release的?

九、这段代码有什么问题,如何修改

十、for (int i = 0; i < someLargeNumber; i++) {

NSString *string = @”Abc”;

string = [string lowercaseString];

string = [string stringByAppendingString:@"xyz"];

NSLog(@“%@”, string);

}

十一、autorelease和垃圾回收机制(gc)有什么关系?

十二、IPhone OS有没有垃圾回收(gc)?

1三、什么是Notification?

1四、何时用delegate,何时用Notification?

1五、什么是KVC和KVO?

1六、Notification和KVO有什么不一样?

1七、KVO在ObjC中是怎么实现的?

1八、ViewController 的 loadView, viewDidLoad, viewDidUnload 分别是在何时调用的?在自定义ViewController的时候这几个函数里面应该作什么工做?

1九、ViewController 的 didReceiveMemoryWarning 是在何时被调用的?默认的操做是什么?

相关文章
相关标签/搜索