swift面試題

一.Swift和OC的區(qū)別?

  • 1.swift是靜態(tài)語言之剧,有類型推斷郭卫,OC是動態(tài)語言。
  • 2.swift面向協(xié)議編程背稼,OC面向對象編程
  • 3.swift注重值類型贰军,OC注重引用類型。
  • 4.swift支持泛型,OC只支持輕量泛型
  • 5.swift支持靜態(tài)派發(fā)(效率高)词疼、動態(tài)派發(fā)(函數表派發(fā)俯树、消息派發(fā))方式,OC支持動態(tài)派發(fā)(消息派發(fā))方式贰盗。
  • 6.swift支持函數式編程
  • 7.swift的協(xié)議不僅可以被類實現许饿,也可以被struct和enum實現
  • 8.swift有元組類型、支持運算符重載
  • 9.swift支持命名空間
  • 10.swift支持默認參數
  • 11.swift比oc代碼更加簡潔

二舵盈、swift的派發(fā)機制

  • 1.函數的派發(fā)機制:靜態(tài)派發(fā)(直接派發(fā))陋率、函數表派發(fā)、消息派發(fā)
  • 2.swift派發(fā)機制總結:
    **1.swift中所有值類型:struct秽晚、enum使用直接派發(fā)瓦糟。
    **2.swift中協(xié)議的extensions(類似于OC的分類)使用直接派發(fā),初始聲明函數使用函數表派發(fā)
    **3.swift中class中extensions使用直接派發(fā)赴蝇,初始化聲明函數使用函數表派發(fā)菩浙,dynamic修飾的函數使用消息派發(fā)。
    **4.swift中NSObject的子類用@nonobjc或final修飾的函數使用直接派發(fā)扯再,初始聲明函數使用函數表派發(fā)芍耘,dynamic修飾的extensions使用消息派發(fā)
  • 3.swift中函數派發(fā)查看方式:可將swift代碼轉換為SIL(中間碼)
swiftc -emit-silgen -O example.swift

三、swift顯示指定派發(fā)方式熄阻?

  • 1.添加final關鍵字的函數使用直接派發(fā)
  • 2.添加static關鍵字函數使用直接派發(fā)
  • 3.添加dynamic關鍵字函數使用消息派發(fā)
  • 4.添加@objc關鍵字的函數使用消息派發(fā)
  • 5.添加@inline關鍵字的函數告訴編譯器可以使用直接派發(fā)

四斋竞、Struct和Class區(qū)別?

  • 1.Struct不支持繼承秃殉、Class支持繼承
  • 2.Struct是值類型坝初,Class是引用類型
  • 3.Struct無法修改自身屬性值,函數需要添加mutating關鍵字
  • 4.Struct初始化方法是基于屬性的
  • 5.Struct不需要deinit方法钾军,因為值類型不關心引用計數鳄袍,Class需要deinit方法。

五吏恭、Swift中的常量和OC中的常量有啥區(qū)別拗小?

OC中的常量(const)是編譯期決定的,Swift中的常量(let)是運行時確定的

六樱哼、swift中mutating的作用哀九?

    swift中協(xié)議是可以被Struct和enum實現的,mutating關鍵字是為了能在被修飾的函數中修改struct或enum的變量值搅幅。對Class完全透明阅束。

七、final關鍵詞的用法

 final關鍵詞的作用:它修飾的類茄唐、方法息裸、變量是不能被繼承或重寫的,編譯器會報錯。它可以顯示的指派函數的派發(fā)機制呼盆。

八年扩、lazy關鍵詞的用法

 lazy關鍵詞的作用:指定延遲加載(懶加載),懶加載存儲屬性只會在首次使用時才會計算初始值屬性宿亡。
 lazy修飾的屬性非線程安全的常遂。
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末纳令,一起剝皮案震驚了整個濱河市挽荠,隨后出現的幾起案子,更是在濱河造成了極大的恐慌平绩,老刑警劉巖圈匆,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異捏雌,居然都是意外死亡跃赚,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門性湿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纬傲,“玉大人,你說我怎么就攤上這事肤频√纠ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵宵荒,是天一觀的道長汁雷。 經常有香客問我,道長报咳,這世上最難降的妖魔是什么侠讯? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮暑刃,結果婚禮上厢漩,老公的妹妹穿的比我還像新娘。我一直安慰自己岩臣,他們只是感情好溜嗜,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著婿脸,像睡著了一般粱胜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狐树,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天焙压,我揣著相機與錄音,去河邊找鬼。 笑死涯曲,一個胖子當著我的面吹牛野哭,可吹牛的內容都是我干的。 我是一名探鬼主播幻件,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼拨黔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了绰沥?” 一聲冷哼從身側響起篱蝇,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎徽曲,沒想到半個月后零截,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡秃臣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年涧衙,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奥此。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡弧哎,死狀恐怖,靈堂內的尸體忽然破棺而出稚虎,到底是詐尸還是另有隱情撤嫩,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布祥绞,位于F島的核電站非洲,受9級特大地震影響,放射性物質發(fā)生泄漏蜕径。R本人自食惡果不足惜两踏,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望兜喻。 院中可真熱鬧梦染,春花似錦、人聲如沸朴皆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽遂铡。三九已至肮疗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扒接,已是汗流浹背伪货。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工们衙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人碱呼。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓蒙挑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親愚臀。 傳聞我的和親對象是個殘疾皇子忆蚀,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內容

  • 這份面試題是上海某互聯(lián)網公司 iOS 的面試題,同時歡迎把各位發(fā) swift 的面試題給我 1.swift中,如何...
    一銘_閱讀 3,098評論 6 11
  • 1、Swift 比 Objective-C 有什么優(yōu)勢姑裂? Swift 速度更快馋袜,運算性能更高。Swift 語法簡單...
    凌云01閱讀 3,693評論 0 11
  • 總結關于swift的面試題------持續(xù)更新 來源于網上炭分、書籍等 侵權即刪-聯(lián)系我[741136856@qq.c...
    橘子的皮閱讀 1,601評論 0 12
  • 表情是什么桃焕,我認為表情就是表現出來的情緒。表情可以傳達很多信息捧毛。高興了當然就笑了,難過就哭了让网。兩者是相互影響密不可...
    Persistenc_6aea閱讀 124,205評論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風險厭惡者呀忧,不喜歡去冒險,但是人生放棄了冒險溃睹,也就放棄了無數的可能而账。 ...
    yichen大刀閱讀 6,033評論 0 4