iPhone开发、ObjectiveC_面试题目

收集了一些常见到问题,可以用作面试题目,供大家参考。

1、ObjC中,与alloc语义相反的方法是dealloc还是release?与retain语义相反的方法是dealloc还是release,为什么?需要与alloc配对使用的方法是dealloc还是release,为什么?

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

self.name = “object”;和

name =”object”

有什么不同吗?

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

@implementation Person

- (void)setAge:(int)newAge {

self.age = newAge;

}

@end

4、什么是retain count?

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

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

[person retain];

[person release];

[person release];

6、为什么很多内置类如UITableViewController的delegate属性都是assign而不是retain的?

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

8、autorelease的对象是在什么时候被release的?

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

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

NSString *string = @”Abc”;

string = [string lowercaseString];

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

NSLog(@“%@”, string);

}

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

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

13、什么是Notification?

14、什么时候用delegate,什么时候用Notification?

15、什么是KVC和KVO?

16、Notification和KVO有什么不同?

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

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

19、ViewController 的 didReceiveMemoryWarning 是在什么时候被调用的?默认的操作是什么?

 


你可能感兴趣的:(iPhone开发,objectiveC)