iOS面試題搜集(持續更新)

來源:互聯網
上載者:User

最新更新日期:2012:05:31
看最新iOS面試題集錦,請時刻關注本部落格:   http://blog.csdn.net/iukey/article/details/7590557





1、Object-C有多繼承嗎?沒有的話用什麼代替?

沒,protocol.

2、Object-C有私人方法嗎?私人變數呢?

沒,有。

3、#import和#include的區別,@class代表什嗎?

#import 能防止重複引用,#include 不能,@class 前置聲明一個類。

4、Object-C的記憶體管理?

引用計數器。

5、為什麼很多內建的類,如TableViewController的delegate的屬性是assign不是retain?

防止循環參考。

6、定義屬性時,什麼情況使用copy、assign、retain?

copy:拷貝對象。assign:傳值,一般用於基礎類型。retain:傳地址,引用計數器加一。

7、對象是什麼時候被release的?

引用計數器為0.

8、iOS有沒有記憶體回收?

沒。

9、tableView的重用機制?

複用標記。

10、ViewController 的loadView、viewDidLoad、viewDidUnload分別是什麼時候調用的,在自訂ViewController時在這幾個函數中應該做什麼工作?

當view為nil時調用loadView,view完成載入調用viewDidLoad,view釋放時調用viewDidUnload.

11、ViewController的didReceiveMemoryWarning是在什麼時候調用的?預設的操作是什嗎?

記憶體超過闕值,嘗試釋放view.

12、列舉Cocoa中常見的集中多線程的實現,並談談多安全執行緒的幾種解決辦法,一般什麼地方會用到多線程?

NSThread,GCD等。盡量用上層分裝好的方法去實現多線程而不是手動調用NSThread。

13、怎麼理解MVC,在Cocoa中MVC是怎麼實現的?

Model——View——Controller。

14、delegate和notification區別,分別在什麼情況下使用?


15、self.跟self什麼區別?

16、id、nil代表什嗎?

id相當於void*,nil是Null 物件。

17、記憶體管理 Autorelease、retain、copy、assign的set方法和含義?
18、類別的作用?
19、委託(舉例)

20、retainCount?

21、ObjC中,與alloc語義相反的方法是dealloc還是release?與retain語義相反的方法是dealloc還是release,為什嗎?需要與alloc配對使用的方法是dealloc還是release,為什嗎? 

22、在一個對象的方法裡面:

self.name = “object”;和

name =”object”

有什麼不同嗎? 

23、這段代碼有什麼問題嗎:

@implementation Person

- (void)setAge:(int)newAge {

self.age = newAge;

}

@end

24、以下每行代碼執行後,person對象的retain count分別是多少

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

[person retain];

[person release];

[person release]; 

25、autorelease的對象是在什麼時候被release的? 

26、這段代碼有什麼問題,如何修改

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

NSString *string = @”Abc”;

string = [string lowercaseString];

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

NSLog(@“%@”, string);

27、autorelease和記憶體回收機制(gc)有什麼關係? 

28、什麼是Notification? 

29、什麼時候用delegate,什麼時候用Notification? 

30、什麼是KVC和KVO? 

31、Notification和KVO有什麼不同? 

32、KVO在ObjC中是怎麼實現的? 

33、線程理解,有什麼好處

34、考察對@interface與@propety的理解

35、objective-c中的類型轉換分為哪幾類

36、多態的理解


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.