面試題

1.什么是函數(shù)式編程蛹屿?

將業(yè)務(wù)邏輯細(xì)化屁奏,抽象,封裝成一個(gè)個(gè)對(duì)象错负,并借助語(yǔ)言坟瓢,庫(kù),組件犹撒,框架等折联,將整個(gè)業(yè)務(wù)流程轉(zhuǎn)化為對(duì)象之間的相互調(diào)用,這就是面向?qū)ο缶幊淌都铡ttps://www.cnblogs.com/chulung/p/5651185.html

2.abi是什么诚镰?

應(yīng)用程序二進(jìn)制接口(application binary interface,ABI) 描述了應(yīng)用程序和操作系統(tǒng)之間祥款,一個(gè)應(yīng)用和它的庫(kù)之間清笨,或者應(yīng)用的組成部分之間的低接口 。ABI不同于API 刃跛,API定義了源代碼和庫(kù)之間的接口抠艾,因此同樣的代碼可以在支持這個(gè)API的任何系統(tǒng)中編譯 桨昙,然而ABI允許編譯好的目標(biāo)代碼在使用兼容ABI的系統(tǒng)中無(wú)需改動(dòng)就能運(yùn)行检号。 ABI掩蓋了各種細(xì)節(jié)首懈,例如:調(diào)用約定控制著函數(shù)的參數(shù)如何傳送以及如何接受返回值;系統(tǒng)調(diào)用的編碼和一個(gè)應(yīng)用如何向操作系統(tǒng)進(jìn)行系統(tǒng)調(diào)用谨敛;以及在一個(gè)完整的操作系統(tǒng)ABI中,對(duì)象文件的二進(jìn)制格式滤否、程序庫(kù)等等脸狸。一個(gè)完整的ABI,像 Intel二進(jìn)制兼容標(biāo)準(zhǔn) (iBCS) 藐俺,允許支持它的操作系統(tǒng)上的程序不經(jīng)修改在其他支持此ABI的操作體統(tǒng)上運(yùn)行炊甲。其他的 ABI 標(biāo)準(zhǔn)化細(xì)節(jié)包括C++ name decoration和同一個(gè)平臺(tái)上的編譯器之間的調(diào)用約定,但是不包括跨平臺(tái)的兼容性欲芹。在Unix的操作系統(tǒng)中卿啡,存在很多運(yùn)行在同一件平臺(tái)上互相相關(guān)但是不兼容的操作系統(tǒng)(尤其是80386兼容系統(tǒng))。有一些努力嘗試標(biāo)準(zhǔn)化A I菱父,以減少銷售商將程序移植到其他系統(tǒng)時(shí)所需的工作颈娜。然而,直到現(xiàn)在還沒(méi)有很成功的例子浙宜,雖然LBS正在為L(zhǎng)inux做這方面的努力官辽。

3.什么是MVC,請(qǐng)結(jié)合CocoaTouch說(shuō)明?3.2.8 Cocoa和Cocoa Touch中MVC設(shè)計(jì)模式

《iPhone與iPad開(kāi)發(fā)實(shí)戰(zhàn)--iOS經(jīng)典應(yīng)用剖析》第3章工具類應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)--密碼生成應(yīng)用粟瞬,通過(guò)對(duì)本章的學(xué)習(xí)同仆,讀者可以掌握密碼生成應(yīng)用程序(Amuck Password Generator)的應(yīng)用開(kāi)發(fā)過(guò)程,重點(diǎn)是一些基本控件的設(shè)計(jì)和使用過(guò)程裙品,這些控件包括:UIView俗批、UIButton和UILabel等,學(xué)會(huì)使用Interface Builder市怎,用Interface Builder設(shè)計(jì)這些控件以及它們的屬性岁忘。本節(jié)為大家介紹Cocoa和Cocoa Touch中MVC設(shè)計(jì)模式。

作者:關(guān)東升/趙志榮/賈云龍來(lái)源:機(jī)械工業(yè)出版社|2012-05-23 13:40 收藏? 分享

有獎(jiǎng)?wù){(diào)研 | 人臉識(shí)別功能在互聯(lián)網(wǎng)行業(yè)認(rèn)知度情況

3.2.8? Cocoa和Cocoa Touch中MVC設(shè)計(jì)模式

從上面的介紹中可以看出焰轻,應(yīng)用中有很多的UIViewController和UIView臭觉,以及很多nib文件,它們之間是什么關(guān)系呢辱志?這與MVC設(shè)計(jì)模式有關(guān)蝠筑。

蘋果的Cocoa和Cocoa Touch是采用MVC設(shè)計(jì)模式進(jìn)行設(shè)計(jì)的,所謂設(shè)計(jì)模式就是解決某一特定問(wèn)題的方案揩懒。MVC是解決具有UI的應(yīng)用系統(tǒng)的成熟解決方案什乙,MVC解釋如下:

M-Model(模型)是應(yīng)用系統(tǒng)中與視圖對(duì)應(yīng)部分的數(shù)據(jù);

V-View(視圖)是應(yīng)用系統(tǒng)中用戶看到并與之交互的界面;

C-Controller(控制器)在應(yīng)用系統(tǒng)中起到控制器作用,用來(lái)接受用戶事件已球、顯示數(shù)據(jù)臣镣、與視圖進(jìn)行交互等辅愿。

Cocoa是蘋果開(kāi)發(fā)Mac OS X應(yīng)用系統(tǒng)的框架,基于Objective-C忆某,它包括:Foundation和AppKit点待,Cocoa框架在iOS上叫做Cocoa Touch,Cocoa Touch框架包含:Foundation和UIKit弃舒。

在Cocoa和Cocoa Touch應(yīng)用中嚴(yán)格按照該模式實(shí)現(xiàn)(見(jiàn)圖3-9)癞埠。在Cocoa和Cocoa Touch中,除了視圖和視圖控制器外聋呢,還有nib文件苗踪。nib文件是通過(guò)Interface Builder工具維護(hù),在新版的Xcode 4.x中削锰, Interface Builder與Xcode集成在一起通铲。本書(shū)采用的還是Xcode3.2版本,因此Interface Builder與Xcode工具還是分開(kāi)的器贩。

4.swift相對(duì)于OC有哪些優(yōu)點(diǎn)

1颅夺、Swift容易閱讀,語(yǔ)法和文件結(jié)構(gòu)簡(jiǎn)易化蛹稍。

2碗啄、Swift更易于維護(hù),文件分離后結(jié)構(gòu)更清晰稳摄。

3稚字、Swift更加安全,它是類型安全的語(yǔ)言厦酬。

4胆描、Swift代碼更少,簡(jiǎn)潔的語(yǔ)法仗阅,可以省去大量冗余代碼

5昌讲、Swift速度更快,運(yùn)算性能更高减噪。

5.什么是泛型,swift在哪些地方使用了泛型短绸?

泛型代碼可以讓你寫出根據(jù)自我需求定義、適用于任何類型的筹裕,靈活且可重用的函數(shù)和類型醋闭。它的可以讓你避免重復(fù)的代碼,用一種清晰和抽象的方式來(lái)表達(dá)代碼的意圖

例如朝卒,Swift 的數(shù)組和字典類型都是泛型集证逻。你可以創(chuàng)建一個(gè)Int數(shù)組,也可創(chuàng)建一個(gè)String數(shù)組抗斤,或者甚至于可以是任何其他 Swift 的類型數(shù)據(jù)數(shù)組囚企。同樣的丈咐,你也可以創(chuàng)建存儲(chǔ)任何指定類型的字典(dictionary),而且這些類型可以是沒(méi)有限制的龙宏。

6.defer棵逊、guard的作用?

defer新語(yǔ)法聲明银酗。defer譯為延緩歹河、推遲之意。比如花吟,讀取某目錄下的文件內(nèi)容并處理數(shù)據(jù),你需要首先定位到文件目錄厨姚,打開(kāi)文件夾衅澈,讀取文件內(nèi)容以及處理數(shù)據(jù),關(guān)閉文件以及文件夾谬墙。倘若一切順利今布,只需按照設(shè)定好的程序流程走一輪即可;不過(guò)考慮事情要面面俱到拭抬,倘若中間某個(gè)環(huán)節(jié)失敗部默,比如讀取文件內(nèi)容失敗、處理數(shù)據(jù)失敗等等造虎,還需要進(jìn)行一些后續(xù)收尾工作傅蹂,即關(guān)閉文件或關(guān)閉文件夾(當(dāng)然就算順利執(zhí)行,也是要關(guān)閉的)算凿。

guard充當(dāng)了警衛(wèi)員一職份蝴,保證條件滿足情況下,才會(huì)讓你通過(guò)氓轰,否則只能else讓你返回了婚夫!切記else中一定需要有返回的語(yǔ)句,比如return署鸡、continue案糙、break、throw這種提早退出的關(guān)鍵字Qデ臁时捌!

7.swift語(yǔ)法糖?炉抒!的本質(zhì)(實(shí)現(xiàn)原理)

理解就是讓你的代碼更加有簡(jiǎn)潔匣椰,別人閱讀代碼的時(shí)候會(huì)覺(jué)得你的代碼很工整,也方便維護(hù)

8.舉例swift中模式匹配的作用端礼?

enum Trades {

? ? case Buy(stock: String, amount: Int, stockPrice: Float)

? ? case Sell(stock: String, amount: Int, stockPrice: Float)

}

/**

- 參數(shù) stock: 股票的名字

- 參數(shù) amount: 金額, 負(fù)數(shù)表示銷售額, 正數(shù)表示購(gòu)買額

*/

func process(stock: String, _ amount: Int) {

? ? print ("\(amount) of \(stock)")

}

let aTrade = Trades.Buy(stock: "APPL", amount: 200, stockPrice: 115.5)

switch aTrade {

case .Buy(let stock, let amount, _):

? ? process(stock, amount)

case .Sell(let stock, let amount, _):

? ? process(stock, amount * -1)

}

// 輸出 "buy 200 of APPL"

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末禽笑,一起剝皮案震驚了整個(gè)濱河市入录,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佳镜,老刑警劉巖僚稿,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蟀伸,居然都是意外死亡蚀同,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門啊掏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蠢络,“玉大人,你說(shuō)我怎么就攤上這事迟蜜∩部祝” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵娜睛,是天一觀的道長(zhǎng)髓霞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)畦戒,這世上最難降的妖魔是什么方库? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮障斋,結(jié)果婚禮上纵潦,老公的妹妹穿的比我還像新娘。我一直安慰自己垃环,他們只是感情好酪穿,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著晴裹,像睡著了一般被济。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涧团,一...
    開(kāi)封第一講書(shū)人閱讀 49,821評(píng)論 1 290
  • 那天只磷,我揣著相機(jī)與錄音,去河邊找鬼泌绣。 笑死钮追,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阿迈。 我是一名探鬼主播元媚,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了刊棕?” 一聲冷哼從身側(cè)響起炭晒,我...
    開(kāi)封第一講書(shū)人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎甥角,沒(méi)想到半個(gè)月后网严,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嗤无,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年震束,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片当犯。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡垢村,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出嚎卫,到底是詐尸還是另有隱情嘉栓,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布驰凛,位于F島的核電站,受9級(jí)特大地震影響担扑,放射性物質(zhì)發(fā)生泄漏恰响。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一涌献、第九天 我趴在偏房一處隱蔽的房頂上張望胚宦。 院中可真熱鬧,春花似錦燕垃、人聲如沸枢劝。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)您旁。三九已至,卻和暖如春轴捎,著一層夾襖步出監(jiān)牢的瞬間鹤盒,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工侦副, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留侦锯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓秦驯,卻偏偏與公主長(zhǎng)得像尺碰,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • *面試心聲:其實(shí)這些題本人都沒(méi)怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,131評(píng)論 30 470
  • 面試題9 1.描述應(yīng)用程序的啟動(dòng)順序亲桥。 2.為什么很多內(nèi)置類如UITableViewControl的delegat...
    嘖嘖嘖_野獸閱讀 2,206評(píng)論 0 26
  • 轉(zhuǎn):http://www.cocoachina.com/programmer/20151019/13746.htm...
    Style_偉閱讀 1,299評(píng)論 0 3
  • 0洛心、上線被拒原因有哪些: 答:1、未實(shí)現(xiàn)的功能模塊不能顯示两曼。2皂甘、不能出現(xiàn)關(guān)于測(cè)試的一些信息。3悼凑、第三方授權(quán)使用偿枕,未...
    白水灬煮一切閱讀 2,024評(píng)論 0 57
  • 一張?zhí)煺婷利惖哪槪?一句“殺姐姐”,降伏了一代魔君殺阡陌的心户辫。他寧負(fù)天下渐夸,不負(fù)她; 一次次生死守護(hù)渔欢,一句“我不信正...
    肖夢(mèng)閱讀 1,297評(píng)論 2 6