將會(huì)遇到的iOS面試題二

  1. @synthesize和@dynamic分別有什么作用?

@property有兩個(gè)對應(yīng)的詞桶错,一個(gè)是@synthesize,一個(gè)是dynamic,默認(rèn)是@synthesize 见转,會(huì)自動(dòng)生成下劃線成員變量的getter和setter方法,
而dynamic會(huì)告訴編譯器:屬性的setter和getter方法由用戶自己實(shí)現(xiàn)蒜哀,不自動(dòng)生成斩箫,假如一個(gè)屬性被聲明為@dynamic,而又沒有提供getter 和setter方法撵儿,編譯時(shí)不會(huì)有問題校焦,而當(dāng)程序運(yùn)行時(shí),當(dāng)用到getter和setter方法的以后程序就會(huì)crash统倒,這就是所謂的動(dòng)態(tài)綁定寨典。

  1. ARC下,不顯式指定任何屬性關(guān)鍵字時(shí)房匆,默認(rèn)的關(guān)鍵字都有哪些耸成?

對于基本數(shù)據(jù)類型:atomic、readwrite浴鸿、assign
對于對象:atomic井氢、readwrite、strong

  1. 用@property聲明的NSString(或NSArray岳链,NSDictionary)經(jīng)常使用copy關(guān)鍵字花竞,為什么?如果改用strong關(guān)鍵字掸哑,可能造成什么問題约急?
  • 因?yàn)楦割愔羔樋梢灾赶蜃宇悓ο?使用 copy 的目的是為了讓本對象的屬性不受外界影響,使用 copy 無論給我傳入是一個(gè)可變對象還是不可對象,我本身持有的就是一個(gè)不可變的副本.
  • 如果我們使用是 strong ,那么這個(gè)屬性就有可能指向一個(gè)可變對象,如果這個(gè)可變對象在外部被修改了,那么會(huì)影響該屬性.
  • copy設(shè)置方法不保留新值,而是將其”拷貝“苗分。NSString用copy是為了保護(hù)其封裝性厌蔽,防止字符串的值在對象不知情的情況下遭人修改
    原文鏈接
  1. @synthesize合成實(shí)例變量的規(guī)則是什么?假如property名為foo摔癣,存在一個(gè)名為_foo的實(shí)例變量奴饮,那么還會(huì)自動(dòng)合成新變量么?
  • 如果指定了成員變量的名稱,會(huì)生成一個(gè)指定的名稱的成員變量,
  • 如果這個(gè)成員已經(jīng)存在了就不再生成了.
  • 如果是 @synthesize foo;
    還會(huì)生成一個(gè)名稱為foo的成員變量择浊,也就是說:
    如果沒有指定成員變量的名稱會(huì)自動(dòng)生成一個(gè)屬性同名的成員變量,
  • 如果是 @synthesize foo = _foo;
    就不會(huì)生成成員變量了.
    不會(huì)
    原文鏈接
  1. 在有了自動(dòng)合成屬性實(shí)例變量之后戴卜,@synthesize還有哪些使用場景?

實(shí)例變量 = 成員變量 = ivar
當(dāng)想要手動(dòng)管理@property的所有內(nèi)容時(shí)琢岩,會(huì)通過實(shí)現(xiàn) @property 的所有“存取方法”(the accessor methods)或者使用 @dynamic 來達(dá)到這個(gè)目的投剥,這時(shí)編譯器就會(huì)認(rèn)為你打算手動(dòng)管理 @property,于是編譯器就禁用了 autosynthesis(自動(dòng)合成)粘捎。
原文鏈接

  1. objc中向一個(gè)對象發(fā)送消息[obj foo]和objc_msgSend()函數(shù)之間有什么關(guān)系薇缅?

該方法編譯之后就是objc_msgSend()函數(shù)調(diào)用.

  1. 什么時(shí)候會(huì)報(bào)unrecognized selector的異常危彩?

當(dāng)調(diào)用該對象上某個(gè)方法,而該對象上沒有實(shí)現(xiàn)這個(gè)方法的時(shí)候, 可以通過“消息轉(zhuǎn)發(fā)”進(jìn)行解決泳桦。
objc在向一個(gè)對象發(fā)送消息時(shí)汤徽,runtime庫會(huì)根據(jù)對象的isa指針找到該對象實(shí)際所屬的類,然后在該類中的方法列表以及其父類方法列表中尋找方法運(yùn)行灸撰,如果谒府,在最頂層的父類中依然找不到相應(yīng)的方法時(shí),程序在運(yùn)行時(shí)會(huì)掛掉并拋出異常unrecognized selector sent to XXX 浮毯。但是在這之前完疫,objc的運(yùn)行時(shí)會(huì)給出三次拯救程序崩潰的機(jī)會(huì):

  • Method resolution
    objc運(yùn)行時(shí)會(huì)調(diào)用+resolveInstanceMethod:或者 +resolveClassMethod:,讓你有機(jī)會(huì)提供一個(gè)函數(shù)實(shí)現(xiàn)债蓝。如果你添加了函數(shù)壳鹤,那運(yùn)行時(shí)系統(tǒng)就會(huì)重新啟動(dòng)一次消息發(fā)送的過程,否則 饰迹,運(yùn)行時(shí)就會(huì)移到下一步芳誓,消息轉(zhuǎn)發(fā)(Message Forwarding)。
  • Fast forwarding
    如果目標(biāo)對象實(shí)現(xiàn)了-forwardingTargetForSelector:啊鸭,Runtime 這時(shí)就會(huì)調(diào)用這個(gè)方法锹淌,給你把這個(gè)消息轉(zhuǎn)發(fā)給其他對象的機(jī)會(huì)。 只要這個(gè)方法返回的不是nil和self赠制,整個(gè)消息發(fā)送的過程就會(huì)被重啟赂摆,當(dāng)然發(fā)送的對象會(huì)變成你返回的那個(gè)對象。否則钟些,就會(huì)繼續(xù)Normal Fowarding烟号。 這里叫Fast,只是為了區(qū)別下一步的轉(zhuǎn)發(fā)機(jī)制厘唾。因?yàn)檫@一步不會(huì)創(chuàng)建任何新的對象褥符,但下一步轉(zhuǎn)發(fā)會(huì)創(chuàng)建一個(gè)NSInvocation對象,所以相對更快點(diǎn)抚垃。
    1. Normal forwarding
      這一步是Runtime最后一次給你挽救的機(jī)會(huì)。首先它會(huì)發(fā)送-methodSignatureForSelector:消息獲得函數(shù)的參數(shù)和返回值類型趟大。如果-methodSignatureForSelector:返回nil鹤树,Runtime則會(huì)發(fā)出-doesNotRecognizeSelector:消息,程序這時(shí)也就掛掉了逊朽。如果返回了一個(gè)函數(shù)簽名罕伯,Runtime就會(huì)創(chuàng)建一個(gè)NSInvocation對象并發(fā)送-forwardInvocation:消息給目標(biāo)對象
  1. 一個(gè)objc對象如何進(jìn)行內(nèi)存布局?(考慮有父類的情況)

  2. 一個(gè)objc對象的isa的指針指向什么叽讳?有什么作用追他?

指向他的類對象,從而可以找到對象上的方法

  1. runtime如何通過selector找到對應(yīng)的IMP地址坟募?(分別考慮類方法和實(shí)例方法)

每一個(gè)類對象中都一個(gè)方法列表,方法列表中記錄著方法的名稱,方法實(shí)現(xiàn),以及參數(shù)類型,其實(shí)selector本質(zhì)就是方法名稱,通過這個(gè)方法名稱就可以在方法列表中找到對應(yīng)的方法實(shí)現(xiàn).

  1. 使用runtime Associate方法關(guān)聯(lián)的對象,需要在主對象dealloc的時(shí)候釋放么邑狸?

無論在MRC下還是ARC下均不需要懈糯。

  1. objc中的類方法和實(shí)例方法有什么本質(zhì)區(qū)別和聯(lián)系?
  • 類方法:
    類方法是屬于類對象的
    類方法只能通過類對象調(diào)用
    類方法中的self是類對象
    類方法可以調(diào)用其他的類方法
    類方法中不能訪問成員變量
    類方法中不能直接調(diào)用對象方法
  • 實(shí)例方法:
    實(shí)例方法是屬于實(shí)例對象的
    實(shí)例方法只能通過實(shí)例對象調(diào)用
    實(shí)例方法中的self是實(shí)例對象
    實(shí)例方法中可以訪問成員變量
    實(shí)例方法中直接調(diào)用實(shí)例方法
    實(shí)例方法中也可以調(diào)用類方法(通過類名)
    以上答案在《招聘一個(gè)靠譜的 iOS》—參考答案(上)
    下面答案在《招聘一個(gè)靠譜的 iOS》—參考答案(下)
  1. _objc_msgForward函數(shù)是做什么的单雾,直接調(diào)用它將會(huì)發(fā)生什么赚哗?

  2. runtime如何實(shí)現(xiàn)weak變量的自動(dòng)置nil?

  3. 能否向編譯后得到的類中增加實(shí)例變量硅堆?能否向運(yùn)行時(shí)創(chuàng)建的類中添加實(shí)例變量屿储?為什么?

  4. runloop和線程有什么關(guān)系渐逃?

  5. runloop的mode作用是什么够掠?

  6. 以+ scheduledTimerWithTimeInterval...的方式觸發(fā)的timer,在滑動(dòng)頁面上的列表時(shí)茄菊,timer會(huì)暫定回調(diào)疯潭,為什么?如何解決买羞?

  7. 猜想runloop內(nèi)部是如何實(shí)現(xiàn)的袁勺?

  8. objc使用什么機(jī)制管理對象內(nèi)存?

  9. ARC通過什么方式幫助開發(fā)者管理內(nèi)存畜普?

  10. 不手動(dòng)指定autoreleasepool的前提下期丰,一個(gè)autorealese對象在什么時(shí)刻釋放?(比如在一個(gè)vc的viewDidLoad中創(chuàng)建)

  11. BAD_ACCESS在什么情況下出現(xiàn)吃挑?

  12. 蘋果是如何實(shí)現(xiàn)autoreleasepool的钝荡?

  13. 使用block時(shí)什么情況會(huì)發(fā)生引用循環(huán),如何解決舶衬?

  14. 在block內(nèi)如何修改block外部變量埠通?

  15. 使用系統(tǒng)的某些block api(如UIView的block版本寫動(dòng)畫時(shí)),是否也考慮引用循環(huán)問題逛犹?

  16. GCD的隊(duì)列(dispatch_queue_t)分哪兩種類型端辱?

串行隊(duì)列、并發(fā)隊(duì)列

  1. 如何用GCD同步若干個(gè)異步調(diào)用虽画?(如根據(jù)若干個(gè)url異步加載多張圖片舞蔽,然后在都下載完成后合成一張整圖)

  2. dispatch_barrier_async的作用是什么?

  3. 蘋果為什么要廢棄dispatch_get_current_queue码撰?

dispatch_get_current_queue容易造成死鎖渗柿。


  1. 什么是arc?(arc是為了解決什么問題誕生的脖岛?)

ARC是Auto Reference Counting的縮寫朵栖,即自動(dòng)引用計(jì)數(shù)颊亮,由編譯器在代碼合適的位置中自動(dòng)添加retain/Release/Autorelease/dealloc方法從而進(jìn)行內(nèi)存管理.
ARC幾個(gè)要點(diǎn):
在對象被創(chuàng)建時(shí) retain count +1,在對象被release時(shí) retain count -1.當(dāng)retain count 為0 時(shí)陨溅,銷毀對象终惑。
程序中加入autoreleasepool的對象會(huì)由系統(tǒng)自動(dòng)加上autorelease方法,如果該對象引用計(jì)數(shù)為0声登,則銷毀狠鸳。
那么ARC是為了解決什么問題誕生的呢?這個(gè)得追溯到MRC手動(dòng)內(nèi)存管理時(shí)代說起悯嗓。
MRC下內(nèi)存管理的缺點(diǎn):
當(dāng)我們要釋放一個(gè)堆內(nèi)存時(shí)件舵,首先要確定指向這個(gè)堆空間的指針都被release了。(避免提前釋放)
釋放指針指向的堆空間脯厨,首先要確定哪些指針指向同一個(gè)堆铅祸,這些指針只能釋放一次。(MRC下即誰創(chuàng)建合武,誰釋放临梗,避免重復(fù)釋放)
模塊化操作時(shí),對象可能被多個(gè)模塊創(chuàng)建和使用稼跳,不能確定最后由誰去釋放盟庞。
多線程操作時(shí),不確定哪個(gè)線程最后使用完畢

  1. 請解釋以下keywords的區(qū)別: assign vs weak, __block vs __weak

__block 說明符就為 block 提供了變量的修改權(quán).
后者是 所有權(quán)修飾符 , 什么是所有權(quán)修飾符? 這里涉及到另一個(gè)問題, 因?yàn)樵?ARC 有效時(shí), id 類型和對象類型同 C 語言中的其他類型不同, 必須附加所有權(quán)修飾符. 所有權(quán)修飾符一種有 4 種:
__strong
__weak
__unsafe_unretained
__autorelease
__weak 與 weak 的區(qū)別只在于, 前者用于變量的聲明, 而后者用于屬性的聲明.
__block和__weak修飾符的區(qū)別其實(shí)是挺明顯的:
1.__block不管是ARC還是MRC模式下都可以使用汤善,可以修飾對象什猖,還可以修飾基本數(shù)據(jù)類型。
2.__weak只能在ARC模式下使用红淡,也只能修飾對象(NSString)不狮,不能修飾基本數(shù)據(jù)類型(int)。
3.__block對象可以在block中被重新賦值在旱,__weak不可以摇零。
也就是說,在MRC下桶蝎,我們通常使用__block,而在ARC下我們通常使用__weak,或者_(dá)_unsafe_unretained __block(不安全驻仅,不建議使用)來修飾防止循環(huán)引用而造成的內(nèi)存泄露。

  1. __block在arc和非arc下含義一樣嗎登渣?
  • 非arc下 __block修飾的變量的引用計(jì)算是不變的
  • arc iOS5之后用__weak iOS雾家, 5之前可以用__unsafe_unretained
  • arc下__block 使block可以訪問并修改外部變量
  1. 使用atomic一定是線程安全的嗎?

atomic:原子屬性绍豁,為setter方法加鎖(默認(rèn)就是atomic)
nonatomic:非原子屬性,不會(huì)加鎖
atomic:線程安全牙捉,需要消耗大量的資源
nonatomic:非線程安全竹揍,適合內(nèi)存小的移動(dòng)設(shè)備

  1. 描述一個(gè)你遇到過的retain cycle例子敬飒。(別撒謊,你肯定遇到過)

  2. +(void)load; +(void)initialize芬位;有什么用處无拗?

load:類初始化加載時(shí)調(diào)用,調(diào)用順序是父類優(yōu)于子類昧碉,子類優(yōu)于分類
initialize:第一次調(diào)用類的類方法或?qū)嵗椒ㄖ罢{(diào)用
這兩個(gè)方法只有實(shí)現(xiàn)了才會(huì)被調(diào)用

  1. 為什么其他語言里叫函數(shù)調(diào)用英染, objective c里則是給對象發(fā)消息(或者談下對runtime的理解)

在java中,類和方法在編譯期就綁定在一起
在OC中被饿,方法調(diào)用是向類發(fā)送消息,如(bady cry)在運(yùn)行時(shí)會(huì)轉(zhuǎn)換成objc_msgSend(bady,cry),向?qū)ο蟀l(fā)送消息時(shí)根據(jù)isa指針找到類四康,在根據(jù)類的調(diào)度表查找方法,沒找到方法則在父類中查找直至基類狭握,如果始終沒有找到返回nil
Objective-C 的 Runtime 鑄就了它動(dòng)態(tài)語言的特性闪金,這些深層次的知識(shí)雖然平時(shí)寫代碼用的少一些,但是卻是每個(gè) Objc 程序員需要了解的论颅。Objc Runtime使得C具有了面向?qū)ο竽芰Πタ眩诔绦蜻\(yùn)行時(shí)創(chuàng)建,檢查恃疯,修改類漏设、對象和它們的方法〗裢可以使用runtime的一系列方法實(shí)現(xiàn)郑口。

  1. 什么是method swizzling?

  2. UIView和CALayer是啥關(guān)系?

  1. 首先UIView可以響應(yīng)事件蛙奖,Layer不可以.
    UIApplication潘酗、UIViewController、UIView雁仲、和所有從UIView派生出來的UIKit類(包括UIWindow)都直接或間接地繼承自UIResponder類仔夺。
    CALayer直接繼承 NSObject,并沒有相應(yīng)的處理事件的接口攒砖。
  2. UIView是CALayer的delegate
  3. UIView主要處理事件缸兔,CALayer負(fù)責(zé)繪制就更好
  4. 每個(gè) UIView 內(nèi)部都有一個(gè) CALayer 在背后提供內(nèi)容的繪制和顯示,并且 UIView 的尺寸樣式都由內(nèi)部的 Layer 所提供吹艇。兩者都有樹狀層級(jí)結(jié)構(gòu)惰蜜,layer 內(nèi)部有 SubLayers,View 內(nèi)部有 SubViews.但是 Layer 比 View 多了個(gè)AnchorPoint
  1. 如何高性能的給UIImageView加個(gè)圓角受神?(不準(zhǔn)說layer.cornerRadius!)

  2. 使用drawRect有什么影響抛猖?(這個(gè)可深可淺,你至少得用過。财著。)

  3. ASIHttpRequest或者SDWebImage里面給UIImageView加載圖片的邏輯是什么樣的联四?(把UIImageView放到UITableViewCell里面問更贊)

  4. 麻煩你設(shè)計(jì)個(gè)簡單的圖片內(nèi)存緩存器(移除策略是一定要說的)

  5. 講講你用Instrument優(yōu)化動(dòng)畫性能的經(jīng)歷吧(別問我什么是Instrument)

  6. loadView是干嘛用的?

loadview在view為nil時(shí)調(diào)用撑教,早于ViewDidLoad
當(dāng)用到nib文件時(shí)朝墩,加載nib文件
沒有用到,默認(rèn)創(chuàng)建一個(gè)空view伟姐,可以自定義一個(gè)view賦值給self.view,不必調(diào)用super

  1. viewWillLayoutSubView你總是知道的收苏。
    鏈接

  2. GCD里面有哪幾種Queue?你自己建立過串行queue嗎愤兵?背后的線程模型是什么樣的鹿霸?

  3. 用過coredata或者sqlite嗎?讀寫是分線程的嗎恐似?遇到過死鎖沒杜跷?咋解決的?

  4. http的post和get啥區(qū)別矫夷?(區(qū)別挺多的葛闷,麻煩多說點(diǎn))

  5. 我知道你大學(xué)畢業(yè)過后就沒接觸過算法數(shù)據(jù)結(jié)構(gòu)了,但是請你一定告訴我什么是Binary search tree? search的時(shí)間復(fù)雜度是多少双藕?我很想知道淑趾!

產(chǎn)品設(shè)計(jì)方面問題

  • iOS應(yīng)用圖標(biāo)是指什么?請盡可能詳細(xì)地描述一下忧陪。

  • 最小尺寸和最大尺寸的應(yīng)用圖標(biāo)分別是什么樣子的扣泊?

  • 應(yīng)用圖標(biāo)能否包含透明的部分?

  • Newsstand的圖標(biāo)與常規(guī)應(yīng)用有何不同嘶摊?

  • 請解釋一下啟動(dòng)畫面(Launch Images)延蟹。

  • 自動(dòng)布局(Auto Layout)的作用是什么?請概括一下它是如何* 運(yùn)行的叶堆。

  • 設(shè)計(jì)軟件時(shí)為什么要加上動(dòng)畫阱飘?

  • 請描述一下軟件設(shè)計(jì)中的交互和Feedback有什么作用。

  • 設(shè)計(jì)iPhone和iPad應(yīng)用時(shí)虱颗,應(yīng)分別考慮哪些因素沥匈?

  • 請描述一下原型設(shè)計(jì)對于軟件開發(fā)的意義。其作用是什么忘渔?

  • 關(guān)于App Store

  • 應(yīng)用內(nèi)購買(In-App Purchases)是怎么回事高帖?IAP能夠?yàn)橛脩魩砟男┬麦w驗(yàn)?

  • 你是否在App Store上發(fā)布過應(yīng)用畦粮?能否概括一下過程散址?

  • iTunes Connect是什么乖阵?

  • Provisioning Profiles是指?

  • App ID是什么爪飘?

  • iOS的開發(fā)和發(fā)布簽名證書有何異同义起?

  • 如何使用TestFlight?通過Ad-hoc發(fā)布應(yīng)用的話师崎,該如何使用UUID?

  • 應(yīng)何時(shí)驗(yàn)證購買收據(jù)椅棺?
    *發(fā)布iAds(蘋果平臺(tái)廣告)有哪些要求犁罩?

面經(jīng)分享
鏈接:[iOS]關(guān)于面試,做一次整理吧(包含BAT面試題目)

高頻率重點(diǎn)問題:

1.說說 UITableView 的調(diào)優(yōu)两疚。

一方面是通過 instruments 檢查影響性能的地方床估,另一方面是估
算高度并在 runloop 空閑時(shí)緩存。

  1. 談?wù)勀銓?ARC 的理解诱渤。

ARC 是編譯器完成的丐巫,依靠引用計(jì)數(shù),談?wù)剮讉€(gè)屬性修飾符的內(nèi)存管理策略勺美,什么情況下會(huì)內(nèi)存泄露递胧。

3.MVC 具有什么樣的優(yōu)勢,各個(gè)模塊之間怎么通信赡茸,比如點(diǎn)擊 Button 后 怎么通知 Model缎脾?

4.KVO、Notification占卧、delegate 各自的優(yōu)缺點(diǎn)遗菠,效率還有使用場景

  1. 當(dāng)接收者不需要關(guān)注發(fā)送者,只關(guān)注此消息华蜒,并且消息傳遞是單向時(shí),使用Notifications
  2. block是iOS4加入的辙纬,

5.如何手動(dòng)通知 KVO

6.runtime 中,SEL 和 IMP 的區(qū)別

7.autoreleasepool 的使用場景和原理

8.RunLoop 的實(shí)現(xiàn)原理和數(shù)據(jù)結(jié)構(gòu)叭喜,什么時(shí)候會(huì)用到

9.使用 GCD 如何實(shí)現(xiàn)這個(gè)需求:A贺拣、B、C 三個(gè)任務(wù)并發(fā)域滥,完成后執(zhí)行任務(wù) D纵柿。

10.如何設(shè)計(jì)圖片緩存?

11.說說你對 OC 中 load 方法和 initialize 方法的異同启绰“喝澹——主要說一下執(zhí)行時(shí)間,各自用途委可,沒實(shí)現(xiàn)子類的方法會(huì)不會(huì)調(diào)用父類的渊跋?

12.說說你對 block 的理解腊嗡。—— 三種 block拾酝,棧上的自動(dòng)復(fù)制到堆上燕少,block 的屬性修飾符是 copy,循環(huán)引用的原理和解決方案蒿囤。

鏈接:objc 中的 block

  • 編譯器會(huì)根據(jù)block捕獲的變量客们,生成具體的結(jié)構(gòu)體定義。block內(nèi)部的代碼提取成一個(gè)單獨(dú)的C函數(shù)材诽。
    創(chuàng)建block時(shí)底挫,實(shí)際就是在方法中聲明一個(gè)結(jié)構(gòu)體(struct),并且初始化該struct的成員脸侥,執(zhí)行block時(shí)建邓,就是調(diào)用單獨(dú)的C函數(shù),并把struct指針傳遞過去睁枕。
  • block中包含了被引用的自由變量(由struct持有)官边,也包含了控制成分的代碼塊(由函數(shù)指針持有),符合閉包(closure)的概念外遇。
  • block中的isa指向的是該block的Class
    _NSConcreteStackBlock 棧上創(chuàng)建的block
    _NSConcreteMallocBlock 堆上創(chuàng)建的block
    _NSConcreteGlobalBlock 作為全局變量的block

1.怎么判斷某個(gè) cell 是否顯示在屏幕上
2.TCP 流量控制
3.數(shù)組和鏈表的區(qū)別
4.UIView 生命周期
5.如果頁面 A 跳轉(zhuǎn)到 頁面 B注簿,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪個(gè)先調(diào)用?
6.ARC 的本質(zhì)
ARC是iOS5推出的
7.RunLoop 的基本概念臀规,它是怎么休眠的滩援?
8.如何找到字符串中第一個(gè)不重復(fù)的字符
9.哈希表如何處理沖突

騰訊
如何繪制一個(gè)三角形?
1.1 如何繪制大量三角形塔嬉?
1.2 一定要重寫drawRect嗎玩徊?
1.3 如何刷新View界面?
1.4 Layer好在哪谨究?
assign和weak的區(qū)別
線程和RunLoop的關(guān)系
3.1 一個(gè)autorealese對象在什么時(shí)刻釋放恩袱?(比如在一個(gè)vc的viewDidLoad中創(chuàng)建)
NSTimer有什么需注意的以及和RunLoop的關(guān)系?
NSString copy 和 NSString mutableCopy 的區(qū)別
線程加鎖原理(信號(hào)量胶哲,臨界區(qū)畔塔,自選鎖)
iOS7 - iOS9的區(qū)別
GCD指向了野指針了怎么辦
用HTTP傳數(shù)據(jù),丟包嚴(yán)重怎么辦
iOS中廣播的種類
app slying
runtime如何實(shí)現(xiàn)weak變量的自動(dòng)置nil鸯屿?
AFNetworking的內(nèi)部實(shí)現(xiàn)原理澈吨?
block循環(huán)引用了如何解決?
如何用GCD同步若干個(gè)異步調(diào)用寄摆?(如根據(jù)若干個(gè)url異步加載多張圖片谅辣,然后在都下載完成后合成一張整圖)
UIKit的框架結(jié)構(gòu)?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末婶恼,一起剝皮案震驚了整個(gè)濱河市桑阶,隨后出現(xiàn)的幾起案子柏副,更是在濱河造成了極大的恐慌,老刑警劉巖蚣录,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件割择,死亡現(xiàn)場離奇詭異,居然都是意外死亡萎河,警方通過查閱死者的電腦和手機(jī)荔泳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來公壤,“玉大人换可,你說我怎么就攤上這事∠梅” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵慨飘,是天一觀的道長确憨。 經(jīng)常有香客問我,道長瓤的,這世上最難降的妖魔是什么休弃? 我笑而不...
    開封第一講書人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮圈膏,結(jié)果婚禮上塔猾,老公的妹妹穿的比我還像新娘。我一直安慰自己稽坤,他們只是感情好丈甸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著尿褪,像睡著了一般睦擂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上杖玲,一...
    開封第一講書人閱讀 51,208評(píng)論 1 299
  • 那天顿仇,我揣著相機(jī)與錄音,去河邊找鬼摆马。 笑死臼闻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的囤采。 我是一名探鬼主播述呐,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼斑唬!你這毒婦竟也來了市埋?” 一聲冷哼從身側(cè)響起黎泣,我...
    開封第一講書人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缤谎,沒想到半個(gè)月后抒倚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡坷澡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年托呕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片频敛。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡项郊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出斟赚,到底是詐尸還是另有隱情着降,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布拗军,位于F島的核電站任洞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏发侵。R本人自食惡果不足惜交掏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刃鳄。 院中可真熱鬧盅弛,春花似錦、人聲如沸叔锐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掌腰。三九已至狰住,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間齿梁,已是汗流浹背催植。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留勺择,地道東北人创南。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像省核,于是被迫代替她去往敵國和親稿辙。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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