iOS 面試題集-08

1、do while 語句和while語句的區(qū)別,并寫出幾個死循環(huán):

1>、do while 語句至少執(zhí)行一次循環(huán),而while語句括號中表達式為真,才執(zhí)行循環(huán)體。
2>、while (1) {}、for (;;)

2、switch 語句if語句區(qū)別與聯(lián)系以及它的優(yōu)勢在哪里?

1>均表示條件判斷,switch語句表達式只能處理是整型、字符串和枚舉類型,而選擇流程語句則沒有這樣的限制。但switch語句比選擇流程控制語句效率更高。

3、協(xié)議的基本概念和協(xié)議中方法默認類型:

1>、oc中的協(xié)議是一個方法列表,且多少有點相關。它的特點是可以被任何(實現(xiàn)),但它并是類,自身不會實現(xiàn)這樣方法,而是其他人來實現(xiàn)。協(xié)議經(jīng)常用來實現(xiàn)委托對象(委托設計模式)。在協(xié)議中的方法有些是必須實現(xiàn)(@required修飾),有些可實現(xiàn)可不實現(xiàn)(@optional修飾)。

4、@public、@protect、@private它們的含義與作用:

1>、@public:對象的實例變量的作用域在任意地方都可以被訪問。
2>、@protected:對象的實例變量作用域在本類和子類都可以被訪問。
3>、@private:實例變量的作用域只能在本類后子類都可以被訪問。

5、通過指針運算符(->)能夠訪問到private方法嗎?OC語言中還提供哪些方法能直接或間接訪問的訪問實例變量?

1>、通過指針運算符是不可以訪問private方法,可以通過合成存取器訪問實例變量,也可以自定義setter和getter方法訪問實例變量。KVC—鍵值編碼,間接方式訪問實例變量。

6、什么是retaincount:

1>、每一個對象都默認有一個retaincount的屬性,數(shù)值的多少表示有幾個實例正在引用它。它為0時,系統(tǒng)會自動調(diào)用dealloc方法,將內(nèi)存回收。

7、解釋 self = [super init]方法:

1>、容錯處理,當父類初始化失敗,會返回一個nil,表示初始化失敗。由于繼承的關系,子類是需要擁有父類的實例和行為的,因此,我們必須先初始化父類,然后在初始化子類。

8、當我們釋放對象時,為什么需要調(diào)用[super dealloc]方法?

1>、子類是繼承父類,那么子類中有一些實例變量(對象),是繼承父類的,因此,我們需要調(diào)用父類方法,將父類所擁有的實例進行釋放。
2>、先將子類所擁有的實例進行釋放,然后再釋放父類的。

9、object-c 有私有方法嗎?私有變量呢?

1>私有方法是有的稱:延展。私有變量也是有的(@private)。

10、為什么delegate(代理)屬性都是assign而不是retain的?

1>、防止循環(huán)引用,以至于對象無法得到正確的釋放。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,675評論 1 32
  • 小編費力收集:給你想要的面試集合 1.C++或Java中的異常處理機制的簡單原理和應用。 當JAVA程序違反了JA...
    八爺君閱讀 5,234評論 1 114
  • 整理來自互聯(lián)網(wǎng) 1,JDK:Java Development Kit,java的開發(fā)和運行環(huán)境,java的開發(fā)工具...
    Ncompass閱讀 1,620評論 0 6
  • title: Browser-Sync Browsersync能讓瀏覽器實時、快速響應您的文件更改(html、js...
    小東十七閱讀 2,498評論 1 2
  • 最近加了幾個寫手群,一直躍躍欲試,想要接點私活,慢慢走上靠文字發(fā)財致富之路。 接的第一篇稿子是遼寧某熱力國企公司,...
    饅頭老師的百寶袋閱讀 305評論 0 1

友情鏈接更多精彩內(nèi)容