你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 面試問題自我小結

面試問題自我小結

編輯:IOS開發綜合

1、 什麼是 ARC? (ARC 是為理解決什麼問題而降生的?)

ARC 是 Automatic Reference Counting 的縮寫, 即自動援用計數. 這是蘋果在 IOS5 中引入的內存管理機制. Objective-C 和 Swift 運用 ARC 追蹤和管理使用的內存運用. 這一機制使得開發者無需鍵入 retain 和 release , 這不只可以降低順序解體和內存洩露的風險, 而且可以增加開發者的任務量, 可以大幅度提升順序的 流利性 和 可預測性 . 但是 ARC 不適用於 Core Foundation 框架中, 依然需求手動管理內存.

2、 以下 keywords 有什麼區別: assign vs weak , __block vs __weak

assign 和 weak 是用於在聲明屬性時, 為屬性指定內存管理的語義.

assign 用於復雜的賦值, 不改動屬性的援用計數, 用於 Objective-C 中的 NSInteger , CGFloat 以及 C 言語中 int , float , double 等數據類型.
weak 用於對象類型, 由於 weak 異樣不改動對象的援用計數且不持有對象實例, 當該對象廢棄時, 該弱援用自動生效並且被賦值為 nil , 所以它可以用於防止兩個強援用發生的 循環援用 招致內存無法釋放的問題.
__block 和 __weak 之間的卻是的確極大的, 不過它們都用於修飾變量.

前者用於指明以後聲明的變量在被 block 捕捉之後, 可以在 block 中改動變量的值. 由於在 block 聲明的同時會截獲該 block 所運用的全部自動變量的值, 而這些值只在 block 中 只具有”運用權”而不具有”修正權” . 而 __block 闡明符就為 block 提供了變量的修正權.
後者是 一切權修飾符 , 什麼是一切權修飾符? 這裡觸及到另一個問題, 由於在 ARC 無效時, id 類型和對象類型同 C 言語中的其他類型不同, 必需附加一切權修飾符. 一切權修飾符一種有 4 種:

__strong
__weak
__unsafe_unretained
__autorelease

__weak 與 weak 的區別只在於, 前者用於變量的聲明, 然後者用於屬性的聲明.

3、KVO,NSNotification,delegate及block區別
KVO就是cocoa框架完成的察看者形式,普通同KVC搭配運用,經過KVO可以監測一個值的變化,比方View的高度變化。是一對多的關系,一個值的變化會告訴一切的察看者。
NSNotification是告訴,也是一對多的運用場景。在某些狀況下,KVO和NSNotification是一樣的,都是形態變化之後告知對方。NSNotification的特點,就是需求被察看者先自動收回告訴,然後察看者注冊監聽後再來停止呼應,比KVO多了發送告訴的一步,但是其優點是監聽不局限於屬性的變化,還可以對多種多樣的形態變化停止監聽,監聽范圍廣,運用也更靈敏。

delegate 是代理,就是我不想做的事情交給他人做。比方狗需求吃飯,就經過delegate告訴主人,主人就會給他做飯、盛飯、倒水,這些操作,這些狗都不需求關懷,只需求調用delegate(代理人)就可以了,由其他類完成所需求的操作。所以delegate是一對一關系。

block是delegate的另一種方式,是函數式編程的一種方式。運用場景跟delegate一樣,相比delegate更靈敏,而且代理的完成更直觀。

KVO普通的運用場景是數據,需求是數據變化,比方股票價錢變化,我們普通運用KVO(察看者形式)。delegate普通的運用場景是行為,需求是需求他人幫我做一件事情,比方買賣股票,我們普通運用delegate。
Notification普通是停止全局告訴,比方利好音訊一出,告訴大家去買入。delegate是強關聯,就是委托和代理單方相互知道,你委托他人買股票你就需求知道經紀人,經紀人也不要知道自己的顧客。Notification是弱關聯,利好音訊收回,你不需求知道是誰發的也可以做出相應的反響,同理發音訊的人也不需求知道接納的人也可以正常收回音訊。

【面試問題自我小結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved