成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iOS 程序員面試要注意的問題

移動開發 iOS
當您向一個對象發送一個autorelease消息時,Cocoa就會將該對象的一個引用放入到最新的自動釋放池。它仍然是個正當的對象,因此自動釋放 池定義的作用域內的其它對象可以向它發送消息。當程序執行到作用域結束的位置時,自動釋放池就會被釋放,池中的所有對象也就被釋放。

[[121698]]

1、自動釋放池是什么,如何工作?

當您向一個對象發送一個autorelease消息時,Cocoa就會將該對象的一個引用放入到***的自動釋放池。它仍然是個正當的對象,因此自動釋放 池定義的作用域內的其它對象可以向它發送消息。當程序執行到作用域結束的位置時,自動釋放池就會被釋放,池中的所有對象也就被釋放。 

 2、說一說static 關鍵字

(1)函數體內 static 變量的作用范圍為該函數體,不同于 auto 變量,該變量的內存只被分配一次, 

因此其值在下次調用時仍維持上次的值; 

(2)在模塊內的 static 全局變量可以被模塊內所用函數訪問,但不能被模塊外其它函數訪問; 

(3)在模塊內的 static 函數只可被這一模塊內的其它函數調用,這個函數的使用范圍被限制在聲明 

它的模塊內; 

(4)在類中的 static 成員變量屬于整個類所擁有,對類的所有對象只有一份拷貝; 

(5)在類中的 static 成員函數屬于整個類所擁有,這個函數不接收 this 指針,因而只能訪問類的static 成員變量。  

 3、什么事單件實例

Foundation 和 Application Kit 框架中的一些類只允許創建單件對象,即這些類在當前進程中的唯一實例。舉例來說,NSFileManager 和NSWorkspace 類在使用時都是基于進程進行單件對象的實例化。當向這些類請求實例的時候,它們會向您傳遞單一實例的一個引用,如果該實例還不存在,則首先進行實例的分配 和初始化。單件對象充當控制中心的角色,負責指引或協調類的各種服務。如果類在概念上只有一個實例(比如 

NSWorkspace),就應該產生一個單件實例,而不是多個實例;如果將來某一天可能有多個實例,您可 

以使用單件實例機制,而不是工廠方法或函數。

 4、說說Objective-C,有哪些優點哪些不足

objc優點: 

1) Cateogies 

2) Posing 

3) 動態識別 

4) 指標計算 

5)彈性訊息傳遞 

6) 不是一個過度復雜的 C 衍生語言 

7) Objective-C 與 C++ 可混合編程 

不足: 

1) 不支援命名空間 

2)  不支持運算符重載 

3)不支持多重繼承 

4)使用動態運行時類型,所有的方法都是函數調用,所以很多編譯時優化方法都用不到。(如內聯函數等),性能低劣。 

5、#import和#include的區別,@class代表什么?

@class一般用于頭文件中需要聲明該類的某個實例變量的時候用到,在m文件中還是需要使用#import

而#import比起#include的好處就是不會引起重復包含

 6、線程和進程的區別?

進程和線程都是由操作系統所體會的程序運行的基本單元,系統利用該基本單元實現系統對應用的并發性。

進程和線程的主要差別在于它們是不同的操作系統資源管理方式。進程有獨立的地址空間,一個進程崩潰后,在保護模式下不會對其它進程產生影響,而線程只是一個 進程中的不同執行路徑。線程有自己的堆棧和局部變量,但線程之間沒有單獨的地址空間,一個線程死掉就等于整個進程死掉,所以多進程的程序要比多線程的程序 健壯,但在進程切換時,耗費資源較大,效率要差一些。但對于一些要求同時進行并且又要共享某些變量的并發操作,只能用線程,不能用進程。

7、Object-C的內存管理?

1.當你使用new,alloc和copy方法創建一個對象時,該對象的保留計數器值為1.當你不再使用該對象時,你要負責向該對象發送一條release或autorelease消息.這樣,該對象將在使用壽命結束時被銷毀.

2.當你通過任何其他方法獲得一個對象時,則假設該對象的保留計數器值為1,而且已經被設置為自動釋放,你不需要執行任何操作來確保該對象被清理.如果你打算在一段時間內擁有該對象,則需要保留它并確保在操作完成時釋放它.

3.如果你保留了某個對象,你需要(最終)釋放或自動釋放該對象.必須保持retain方法和release方法的使用次數相等.

8、屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那種情況下用?

readwrite 是可讀可寫特性;需要生成getter方法和setter方法時

readonly 是只讀特性  只會生成getter方法 不會生成setter方法 ;不希望屬性在類外改變

assign 是賦值特性,setter方法將傳入參數賦值給實例變量;僅設置變量時;

retain 表示持有特性,setter方法將傳入參數先保留,再賦值,傳入參數的retaincount會+1;

copy 表示賦值特性,setter方法將傳入對象復制一份;需要完全一份新的變量時。

nonatomic 非原子操作,決定編譯器生成的setter getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic

責任編輯:閆佳明 來源: itjhwd
相關推薦

2018-05-23 15:13:50

程序員面試格式

2009-06-22 13:46:00

java程序員考試

2013-05-03 11:31:40

程序員

2016-04-19 10:23:48

2015-07-28 10:30:57

程序員接私單

2013-01-10 09:22:58

程序員面試程序員面試經歷

2015-12-24 10:28:37

程序員面試技巧

2016-04-28 11:17:33

互動出版網

2015-08-19 09:10:37

程序員面試

2015-08-04 10:07:08

程序員面試問題

2015-08-19 08:51:38

程序員面試糟糕

2013-02-19 10:12:59

2018-04-02 14:42:20

面試程序員簡歷

2013-08-20 09:33:59

程序員

2013-05-14 09:44:41

程序員面試

2015-03-30 15:51:29

程序員程序員面試

2018-03-22 15:36:26

程序員RubyiOS

2012-07-20 11:16:26

程序員

2022-03-21 15:30:27

面試程序員算法

2011-06-03 09:58:03

結對編程程序員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 懂色tv | 91精品国产综合久久精品 | 亚洲美女网站 | 国内自拍偷拍一区 | 羞羞的视频免费在线观看 | 日韩一区二区免费视频 | 亚洲一区二区三区久久 | 午夜爱爱网 | 91干b| 国产在线观看网站 | 欧美精品综合 | av大全在线 | 国产农村一级片 | 久久久网 | 久久成人精品视频 | 男人天堂社区 | 中国免费黄色片 | 久久精品国产一区二区电影 | 欧美精品久久久 | 夜夜爽99久久国产综合精品女不卡 | 国产一区二区三区欧美 | 久久久久久a | 精品欧美乱码久久久久久 | 日本午夜免费福利视频 | 情侣av| 国产精品一级在线观看 | 国产欧美一区二区三区国产幕精品 | 99精品视频在线 | www.久| 91污在线| 国产在线视频一区 | 婷婷在线免费 | 精品国产91 | 欧美日韩国产一区二区三区 | 黄色一级免费 | 91黄在线观看| 激情五月综合网 | 日本在线视频不卡 | 国产91在线播放 | 天天综合网天天综合 | 欧美伊人影院 |