iOS 面霸面試題總結 有答案

2021-08-02 08:13:23 字數 2466 閱讀 2316

//

聯絡人:

石虎暱稱

:嗡嘛呢叭咪哄

day 01

01-分類與繼承的區別 分類

:增加方法

,不能增加變數

.但是可以訪問類的變數 繼承

:子類繼承了父類所有的方法和變數

繼承能增加變數和方法

,分類只能增加方法

,不能增加變數.

繼承會產生乙個新的類.

分類不會產生新的類

.同名的方法

,分類裡面優先呼叫 02

-分類與類擴充套件的區別

類擴充套件:可以新增屬性宣告

,新增的方法宣告

,匿名的分類

分類不能新增屬性

,只能新增方法

day 02

//retain  mrc  strong  arc 01

- 展開

:@property

(nonatomic

,retain

) nsarray *cars;

getter方法:

-(nsarray *)cars

setter方法:

-(void

)setcars:(nsarray *)cars }

-(void

)dealloc 02

- null

,nil

, nil

, nsnull

nil是對objective c

物件賦空值

為了避免野指標

對指標賦值乙個

nil

nil:

表示對類進行賦空值

null

:用於對非物件指標賦空值,比如c指標

nsnull

集合裡的空物件

對於像nsarray

這樣的型別,

nil或

null

不能做為加到其中的

object

,如果定義了乙個

nsarray

,為其分配了記憶體,又想設定其中的內容為空,則可以用

[nsnull null

】返回的物件來初始化

nsarray

中的內容

初始化內容為空

day 03

寫乙個**

day 04

寫乙個**

day 05

weak

和strong

的區別,

都是啥時候用?

day

07解釋

@selector

和sel

的含義和作用

@selector

對方法進行包裝

sel是乙個資料型別

.每乙個方法都有乙個

isa指標 [

self

run]

day

08程式啟動的過程 0.

main

函式入口 1.

建立物件

,建立**物件

,設定兩者的**關係 2.

開啟訊息迴圈 3.

載入plist檔案,

看裡面有沒有指定

storyboard,

如果指定了,建立

uiwindow物件.

載入storyboard檔案.

根據storyboard

裡面箭頭指向的控制器

,建立控制器物件

,並且設定成

window

的根控制器

,建立控制器的

view,

顯示到window

上並且展示出來 沒有

storyboard,

就需要在程式啟動完成以後的**函式裡面

寫**建立

widow物件,

建立控制器設定成

window

的根控制器,展示

window

day

09資料怎麼儲存

,有幾種方式

偏好設定

xml xml

檔案或者

plist檔案

nscoding

sqlite 

core data

day

10對記憶體管理的理解

mrc引用計數器

alloc new (mutable)copy retain  +1

relese  autorelease -1

蘋果官方的記憶體管理原則:

1.誰建立或者

retain,

誰釋放

2.alloc new (mutable)copy retain ,

就會要對應乙個

relese  autorelease 

dealloc

物件被銷毀的之前,呼叫

arc強指標

物件有強指標指向

,就不會被釋放

弱指標迴圈引用問題

iOS面試題5 答案

1 寫乙個遞迴方法 計算n的階乘,然後將計算結果進行儲存。以便應用退出後下次啟動課直接獲取該值。double fun int n if n 0 n 1 return 1 else return n fun n 1 2 nsarray和nsmutablearray的區別,多執行緒操作哪個更安全?nsa...

iOS面試題及答案

1 設計模式是什麼?你知道哪些設計模式,並簡要敘述?設計模式是一種編碼經驗,就是用比較成熟的邏輯去處理某一種型別的事情。1 mvc模式 model view control,把模型 檢視 控制器 層進行解耦合編寫。2 mvvm模式 model view viewmodel 把模型 檢視 業務邏輯 層...

iOS 面試題總結

基礎但是重要 1,static 關鍵字至少有下列 n個作用 1 函式體內 static 變數的作用範圍為該函式體,不同於 auto 變數,該變數的記憶體只被分配一次,因此其值在下次呼叫時仍維持上次的值 2 在模組內的 static 全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問 3 ...