iOS_2016最新版面試題(附答案)

每天四道題棉圈,讓精彩填滿生活...

1卸察、簡(jiǎn)述OC中內(nèi)存管理機(jī)制既忆。與retain配對(duì)使用的方法是dealloc還是release柠座,為什么?需要與alloc配對(duì)使用的方法是dealloc還是release片橡,為什么妈经?readwrite,readonly捧书,assign吹泡,retain,copy经瓷,nonatomic爆哑、atomic、strong舆吮、weak屬性的作用揭朝?え

答:Objective - C 是使用引用計(jì)數(shù)的概念來進(jìn)行內(nèi)存管理的,當(dāng)一個(gè)對(duì)象在創(chuàng)建之后它的引用計(jì)數(shù)器值+1色冀,當(dāng)調(diào)用這個(gè)對(duì)象的alloc潭袱、retain、new锋恬、copy方法之后引用計(jì)數(shù)器值自動(dòng)在原來的基礎(chǔ)上+1屯换,當(dāng)調(diào)用這個(gè)對(duì)象的release方法之后它的引用計(jì)數(shù)器值-1,如果一個(gè)對(duì)象的引用計(jì)數(shù)器值為0与学,則系統(tǒng)會(huì)自動(dòng)調(diào)用這個(gè)對(duì)象的dealloc方法來銷毀這個(gè)對(duì)象彤悔。

與retain配對(duì)使用的方法是release, 與alloc 配對(duì)使用的方法是dealloc, 因?yàn)閞etain 就要銷毀索守,創(chuàng)建就要釋放晕窑;

readwrite 是可讀可寫(set 和 get 方法) ? ?readonly 是只讀 (只有set方法) assign 是只取 (只有g(shù)et方法) retain/copy 賦值并且引用計(jì)數(shù)+1 nonatomic/atomic 原子性和非原子性 (保證多線程安全)?

strong/weak 兩者都是在ARC下使用的,strong 相當(dāng)于retain卵佛, weak 相當(dāng)于assign幕屹,可以把對(duì)應(yīng)的指針變量置空。ps:xcode4.2用retain 和assign级遭,xcode4.3 或以上版本用strong 與weak 望拖。

assign 修飾一般類型, retain 修飾對(duì)象類型挫鸽。


2说敏、類變量的@protected ,@private,@public,@package,聲明各有什么含義丢郊?

答:首先它們都是存取權(quán)限的設(shè)定盔沫,換句話而言就是變量的作用域医咨。

@protected:受保護(hù)的,只有本類和子類可以調(diào)用架诞;

@private:私有的拟淮,只有本類可以調(diào)用;

@public:公共的谴忧,全局可以調(diào)用很泊,也可以放到其他模塊去調(diào)用,開放性最大沾谓。

@package:本包內(nèi)可以使用委造,跨包不可以使用;ps:蘋果的官方文檔是這么解釋的:這個(gè)實(shí)例變量最有效的范圍 in framework classes均驶。


3昏兆、線程是什么?進(jìn)程是什么妇穴?二者有什么區(qū)別和聯(lián)系爬虱?

答:線程和進(jìn)程都是操作系統(tǒng)所負(fù)責(zé)的程序運(yùn)行的基本單元,系統(tǒng)通過該基本單元實(shí)現(xiàn)對(duì)程序的并發(fā)性腾它。

線程和進(jìn)程兩者之間的區(qū)別和聯(lián)系:它們是操作系統(tǒng)的兩種不同的資源管理方式饮潦,進(jìn)程有自己獨(dú)立的地址空間,所以一個(gè)進(jìn)程奔潰后携狭,在保護(hù)模式下不會(huì)對(duì)其他進(jìn)程產(chǎn)生影響继蜡。而線程只是一個(gè)進(jìn)程中不同的執(zhí)行路線,線程有自己的堆區(qū)逛腿、棧區(qū)和局部變量稀并,但是線程沒有獨(dú)立的地址空間,一個(gè)線程死掉就等于整個(gè)進(jìn)程死掉单默,所以多進(jìn)程的程序要比多線程的程序健碩碘举。

但是進(jìn)程切換時(shí),耗費(fèi)資源較大搁廓,效率要差一些引颈,但是對(duì)于一些要求同時(shí)進(jìn)行并要共享某些變量的并發(fā)操作,只能用線程境蜕,不能使用進(jìn)程蝙场。


4、談?wù)勀銓?duì)多線程開發(fā)的理解粱年,iOS中有幾種實(shí)現(xiàn)多線程的方法售滤。

答:多線程開發(fā)的優(yōu)缺點(diǎn):

優(yōu)點(diǎn):

1〉使用多線程可以把程序中耗時(shí)較長(zhǎng)的任務(wù)放到后臺(tái)去處理,如加載圖片、視頻等等完箩。

2〉發(fā)揮多核處理器的優(yōu)勢(shì)赐俗,并發(fā)執(zhí)行讓系統(tǒng)運(yùn)行的更快、更流暢弊知,用戶體驗(yàn)更好阻逮。

缺點(diǎn):

1〉大量的線程會(huì)減低代碼的可讀性

2〉更多的線程需要更多的內(nèi)存空間

3〉當(dāng)多個(gè)線程對(duì)同一資源進(jìn)行爭(zhēng)奪時(shí),要注意線程安全 秩彤。ps:比如說加線程鎖之類的操作叔扼。

iOS 一共有三種創(chuàng)建多線程的方法:

1〉NSThread?

// ?第一種創(chuàng)建方式

[NSThread detachNewThreadSelector:@selector(doSomething:) toTarget:self withObject:nil];

第二種創(chuàng)建方式

NSThread *myThread = [[NSThread alloc] initWithTarget:self selector:@selector(doSomething:) object:nil];

2〉NSOperationQueue

NSOperationQueue*oprationQueue= [[NSOperationQueuealloc] init];

oprationQueueaddOperationWithBlock:^{

//這個(gè)block語(yǔ)句塊在子線程中執(zhí)行

}

3〉GCD

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

//耗時(shí)的操作

dispatch_async(dispatch_get_main_queue(), ^{

//更新界面

});

最后編輯于
?著作權(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)離奇詭異流炕,居然都是意外死亡澎现,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門每辟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剑辫,“玉大人,你說我怎么就攤上這事渠欺∶帽危” “怎么了?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵挠将,是天一觀的道長(zhǎng)胳岂。 經(jīng)常有香客問我,道長(zhǎng)舔稀,這世上最難降的妖魔是什么乳丰? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮内贮,結(jié)果婚禮上产园,老公的妹妹穿的比我還像新娘。我一直安慰自己夜郁,他們只是感情好什燕,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著竞端,像睡著了一般秋冰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上婶熬,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天剑勾,我揣著相機(jī)與錄音埃撵,去河邊找鬼。 笑死虽另,一個(gè)胖子當(dāng)著我的面吹牛暂刘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捂刺,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼谣拣,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了族展?” 一聲冷哼從身側(cè)響起森缠,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎仪缸,沒想到半個(gè)月后贵涵,有當(dāng)?shù)厝嗽跇淞掷锇l(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
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望衣盾。 院中可真熱鬧寺旺,春花似錦、人聲如沸势决。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)果复。三九已至陈莽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背走搁。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工独柑, 沒想到剛下飛機(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)容

  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,346評(píng)論 0 35
  • 多線程、特別是NSOperation 和 GCD 的內(nèi)部原理贫悄。運(yùn)行時(shí)機(jī)制的原理和運(yùn)用場(chǎng)景瑞驱。SDWebImage的原...
    LZM輪回閱讀 2,004評(píng)論 0 12
  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛閱讀 1,966評(píng)論 0 7
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,131評(píng)論 30 470
  • ———————————————回答好下面的足夠了---------------------------------...
    恒愛DE問候閱讀 1,712評(píng)論 0 4