iPhone开发、ObjectiveC_面试题目

来源:互联网 发布:nginx lua waf 规则 编辑:程序博客网 时间:2024/06/05 03:04

iPhone开发、ObjectiveC_面试题目

在做iPhone开发过程中,收集了一些常见到问题,可以用作面试题目,供大家参考。

1ObjC中,与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、为什么很多内置类如UITableViewControllerdelegate属性都是assign而不是retain的?

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

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

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

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

NSString *string = @”Abc”;

string = [string lowercaseString];

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

NSLog(@“%@”, string);

}

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

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

13、什么是Notification

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

15、什么是KVCKVO

16NotificationKVO有什么不同?

17KVOObjC中是怎么实现的?

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

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