iOS面試基礎

1.iOS如何令自己所寫的對象具有拷貝功能壕鹉?

想讓自己所寫的對象具有拷貝功能剃幌,則需實現(xiàn) NSCopying 協(xié)議。如果自定義的對象分為可變版本與不可變版本晾浴,那么就要同時實現(xiàn) NSCopying 與 NSMutableCopying 協(xié)議。

- (id)copyWithZone:(NSZone *)zone;
- (id)mutableCopyWithZone:(NSZone *)zone;

2.談談你對多線程開發(fā)的理解牍白?iOS中有幾種實現(xiàn)多線程的方法脊凰?

好處:
  • 使用多線程可以把程序中占據(jù)時間長的任務放到后臺去處理,如圖片茂腥,視頻的下載狸涌;
  • 發(fā)揮多核處理器的優(yōu)勢,并發(fā)執(zhí)行讓系統(tǒng)運行的更快最岗,更流暢帕胆,用戶體驗更好;
壞處:
  • 大量的線程降低代碼的可讀性般渡;
  • 更多的線程需要更多的內(nèi)存空間懒豹;
  • 當多個線程對同一個資源出現(xiàn)爭奪的時候要注意線程安全的問題。
在iOS中其實目前有4套多線程方案驯用,他們分別是:
  1. Pthreads
  2. NSThread
  3. GCD
  4. NSOperation & NSOperationQueue

3.HTTPS的加密原理

  • 服務器端用非對稱加密(RSA)生成公鑰和私鑰脸秽;
  • 然后把公鑰發(fā)給客戶端, 服務器則保存私鑰;
  • 客戶端拿到公鑰后, 會生成一個密鑰, 這個密鑰就是將來客戶端和服務器用來通信的鑰匙蝴乔;
  • 然后客戶端用公鑰對密鑰進行加密, 再發(fā)給服務器记餐;
  • 服務器拿到客戶端發(fā)來的加密后的密鑰后, 再使用私鑰解密密鑰, 到此雙方都獲得通信的鑰匙;

4.UIView如何獲取所在的UIViewController?

在iOS中UIResponder類是專門用來響應用戶的操作處理各種事件的薇正,包括觸摸事件(Touch Events)片酝、運動事件(Motion Events)、遠程控制事件(Remote Control Events)挖腰。我們知道UIApplication雕沿、UIView、UIViewController這幾個類是直接繼承自UIResponder,所以這些類都可以響應事件曙聂。當然我們自定義的繼承自UIView的View以及自定義的繼承自UIViewController的控制器都可以響應事件晦炊。

- (UIViewController *)getControllerFromView:(UIView *)view
{
  //遍歷響應者鏈,返回第一個找到視圖控制器
  UIResponser *responser = view;
   while ((responder = [responder nextResponder])){
        if ([responder isKindOfClass: [UIViewController class]]){
            return (UIViewController *)responder;
        }
    }
    // 如果沒有找到則返回nil
    return nil;
}

5.使用atomic一定線程安全嗎?為什么断国?

這個問題很少遇到贤姆,但是答案當然不是。
atomic在set方法里加了鎖稳衬,防止了多線程一直去寫這個property霞捡,造成難以預計的數(shù)值。但這也只是讀寫的鎖定薄疚。跟線程安全其實還是差一些碧信。

也就是要注意:atomic所說的線程安全只是保證了getter和setter存取方法的線程安全,并不能保證整個對象是線程安全的

6.iOS性能優(yōu)化的方向有哪些街夭?

CPU方向:
  1. 創(chuàng)建對象時砰碴,盡量用輕量的對象代替重量的對象。比如CALayer 比 UIView要輕量許多板丽,不需要響應觸摸事件的控件可以用CALayer來顯示(CALayer控件只能在主線程創(chuàng)建和操作,避免通過Storyboard創(chuàng)建視圖對象)呈枉。

  2. 盡量推遲對象的創(chuàng)建時間,并把對象的創(chuàng)建分散到多個任務中去埃碱。(如果對象可以復用猖辫,并且復用的代價比釋放、創(chuàng)建新對象要小砚殿,那么這類對象應當盡量復用)

3.應盡量減少對UIView的與CALayer相關的屬性修改啃憎。(比如frame、bounds似炎、transform辛萍、center等)

  1. 盡量避免視圖層次調(diào)整,以及視圖添加和移除名党。

5.避免容器內(nèi)持有大量對象同時銷毀叹阔,如果對象可以放到后臺去釋放,難就挪到后臺線程去传睹。

6.盡量減少視圖的布局計算耳幢,應當在后臺提前計算好視圖布局,并且對視圖布局進行緩存欧啤。(參考第3點睛藻,不要多次、頻繁的計算和調(diào)整視圖的這些屬性)

7.. 圖像繪制盡量放到后臺線程邢隧,因為CoreGraphic方法通常是線程安全的店印,圖像顯示時再回到主線程。

  1. 當你用UIImage 或 CGImageSource 的相關方法創(chuàng)建圖片時倒慧,應當在后臺線程先把圖片繪制到 CGBitmapContext 中按摘,從 Bitmap 直接創(chuàng)建圖片包券。(目前常見的網(wǎng)絡圖片庫都做了這個處理)
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市炫贤,隨后出現(xiàn)的幾起案子溅固,更是在濱河造成了極大的恐慌,老刑警劉巖兰珍,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件侍郭,死亡現(xiàn)場離奇詭異,居然都是意外死亡掠河,警方通過查閱死者的電腦和手機亮元,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來唠摹,“玉大人爆捞,你說我怎么就攤上這事」蠢” “怎么了嵌削?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長望艺。 經(jīng)常有香客問我,道長肌访,這世上最難降的妖魔是什么找默? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮吼驶,結(jié)果婚禮上惩激,老公的妹妹穿的比我還像新娘。我一直安慰自己蟹演,他們只是感情好风钻,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酒请,像睡著了一般骡技。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上羞反,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天布朦,我揣著相機與錄音,去河邊找鬼昼窗。 笑死是趴,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的澄惊。 我是一名探鬼主播唆途,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼富雅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肛搬?” 一聲冷哼從身側(cè)響起没佑,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滚婉,沒想到半個月后图筹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡让腹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年远剩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骇窍。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡瓜晤,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腹纳,到底是詐尸還是另有隱情痢掠,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布嘲恍,位于F島的核電站足画,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏佃牛。R本人自食惡果不足惜淹辞,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望俘侠。 院中可真熱鬧象缀,春花似錦、人聲如沸爷速。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惫东。三九已至莉给,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凿蒜,已是汗流浹背禁谦。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留废封,地道東北人州泊。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像漂洋,于是被迫代替她去往敵國和親遥皂。 傳聞我的和親對象是個殘疾皇子力喷,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355