iT邦幫忙

0

iOS工程師面試深入淺出(OC)- NSInterger 與 Int 有什麼不一樣?

iOS工程師面試深入淺出(Objective-C)- NSInterger 與 Int 有什麼不一樣?

事實上在我平常的時候就是看編譯器需要什麼Type,就給他什麼Type。根本沒有仔細去暸解 NSInterger與 Int的差異,在面試時被問到時還真的頓時不知道怎麼回答。我當時的回答是 NSInterger 是 Objective-C 封裝的物件 (誤)。

首先:

在c語言中,int和long的字節數是和操作系統指針所佔的數值類型;

但c語言中說,long的長度永遠大於或等於int;

Objective-c裡,蘋果的官方文檔中總是推薦用NSInteger;

區別:

原來在蘋果的api實現中,NSInteger是一個封裝,它會識別當前操作系統的數值,自動返回最大的類型。

總結:

NSInteger與int的區別是NSInteger會根據系統的數值(32或64)自動選擇int的最大數值(int或long)還有就是他和NSString一樣都可以是物件。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言