iOS經典面試題

1.+load+initialize的區(qū)別是什么?

解析:學習一個方法, 主要從兩方面入手.第一是,這個方法什么時候調用,第二它的作用是什么.

  • load
    什么時候調用:當程序一啟動,就會把所有類加載進內存,只要一個類加載進內存,就會調用這個類的load方法.
    調用次數(shù):只會調用一次
    作用:初始化類的操作
  • initialize
    什么時候調用:當?shù)谝淮问褂眠@個類或者它的子類就會調用
    調用次數(shù):有可能會調用多次,比如說這個類有一個子類,第一次使用這個子類的時候,會調用2次.
    作用:初始化類的操作

2.runtime實現(xiàn)的機制是什么,有哪些用法夸政,一般用于干嘛?

是什么?

  • runtime是運行時機制.它是一套比較底層的純C語言API,屬于一個語言庫,包含了很多底層的C語言API.
  • 平時編寫的OC代碼,在程序運行中,其實最終都是轉成了runtime的C語言代碼,runtime算是OC的幕后工作者.

** 有哪些用法?**

  • ①發(fā)送消息
  • ②交換方法(系統(tǒng)自帶的方法功能不夠这难,給系統(tǒng)自帶的方法擴展一些功能邑贴,并且保持原有的功能)
  • ③動態(tài)創(chuàng)建一個類(比如KVC底層實現(xiàn))
  • ④動態(tài)添加方法(如果一個類方法非常多励幼,加載類到內存的時候也比較耗費資源体啰,需要給每個方法生成映射表否灾,可以使用動態(tài)給某個類窃蹋,添加方法解決)
  • ⑤字典轉模型

3.什么時候會發(fā)生EXC_BAD_ACCESS異常准潭?

指向僵尸對象(不可用內存)的指針 給野指針發(fā)消息會報EXC_BAD_ACCESS錯誤

4.category和extension的區(qū)別

解析
先闡述一下這兩個詞的意思,再分別說下這兩個類的作用使用場景 就OK了

  • category:分類
    1.作用:給一個類擴展一些方法,不能擴展屬性
    2.使用場景: 擴展系統(tǒng)的類
  • extension:類目,類擴展,匿名分類
    1.作用:擴充屬性和方法聲明
    2.使用場景: 擴展自定義類

5.你是怎么理解bounds的

解析
遇到這種不好回答的問題,首先說出它的字面意思

  • 1.內容:每個控件都有自己的內容,一個控件子控件都是相對于內容
  • 2.bounds可以設置控件尺寸
  • 3.bounds描述一塊區(qū)域,描述的是可視范圍在內容的區(qū)域
  • 4.修改Bounds的x,y,不會影響當前控件在父控件位置,本質修改的是內容原點

6.UICollectionView使用步驟?

  • 1.初始化布局 流水布局
  • 2.設置數(shù)據(jù)源
  • 3.注冊cell
  • 4.自定義cell

7.簡述你對協(xié)議的理解?

解析
怎么去使用這個知識點 (這是初學者一般這么回答,low);
為什么要使用協(xié)議 (思想),什么時候才需要使用協(xié)議 (開發(fā)場景)

  • 1.有時候自己不想做的事情,搞一個代理去管理,這時候只要代理遵守了某個協(xié)議,就能成為我代理.
  • 2.UIScrollView,監(jiān)聽UIScrollView滾動,這時候需要遵守UIScrollView協(xié)議
    注意點:代理一定要記得實現(xiàn)方法.

8.UITabBarController控制器中view的內部結構

  • 它view內部的結構為一個專門存放子控制器View的View,和一個UITabBar條.
    注意:UITabBar的高度為49.

UI基礎考點

1.通過代碼如何自定義控件? 并且簡單的描述下每一個步驟的理由?

  • 1.新建一個繼承UIView的類,(所謂自定義控件就是繼承系統(tǒng)自帶的控件寫一個自己的控件)
  • 2.在initWithFrame方法中添加子控件(保證別人在外面不管是通過init還是initWithFrame創(chuàng)建都能夠添加子控件,因為init方法內部會調用initWithFrame
  • 3.在layoutSubViews方法中設置子控件的frame(因為在InitWithFrame方法中當前控件尺寸可能沒值,所以計算不了子控件的位置和尺寸,而在layoutSubViews方法,能夠拿到當前控件的尺寸)
  • 4.提供一個模型屬性者铜,重寫模型屬性的set方法(保證在別人在設置數(shù)據(jù)的那一刻就可以拿到數(shù)據(jù)設置到對應的子控件上)

2.通過XIB如何自定義控件? 并且簡單的描述下每一個步驟的理由?

  • 1.新建一個繼承UIView的類,(所謂自定義控件就是繼承系統(tǒng)自帶的控件寫一個自己的控件)
  • 2.新建一個xib文件(xib的文件名最好和類名一樣)
  • 3.修改最外面那個控件的class為控件類名(只有修改類名,當時候從xib中出來的才是我這種類型的控件)
  • 4.提供一個模型屬性腔丧,重寫模型屬性的set方法(保證在別人在設置數(shù)據(jù)的那一刻就可以拿到數(shù)據(jù)設置到對應的子控件上)

3.用一個屬性引用UI控件的時候為什么用weak?

  • 因為UI控件添加到父控件中以后,會有強指針指向這個對象.在搞一個屬性引用這個對象,用弱引用就可以.

4.簡述UITableView性能優(yōu)化的原理?

  • 當滾動列表時,部分UITableViewCell會移出窗口作烟,UITableView會將窗口外的UITableViewCell放入一個對象池中愉粤,等待重用。當UITableView要求dataSource返回UITableViewCell時俗壹,dataSource會先查看這個對象池科汗,如果池中有未使用的UITableViewCell,dataSource會用新的數(shù)據(jù)配置這個UITableViewCell绷雏,然后返回給UITableView头滔,重新顯示到窗口中怖亭,從而避免創(chuàng)建新對象.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坤检,隨后出現(xiàn)的幾起案子兴猩,更是在濱河造成了極大的恐慌,老刑警劉巖早歇,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倾芝,死亡現(xiàn)場離奇詭異,居然都是意外死亡箭跳,警方通過查閱死者的電腦和手機晨另,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谱姓,“玉大人借尿,你說我怎么就攤上這事√肜矗” “怎么了路翻?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長茄靠。 經常有香客問我茂契,道長,這世上最難降的妖魔是什么慨绳? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任掉冶,我火速辦了婚禮,結果婚禮上儡蔓,老公的妹妹穿的比我還像新娘郭蕉。我一直安慰自己,他們只是感情好喂江,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旁振,像睡著了一般获询。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拐袜,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天吉嚣,我揣著相機與錄音,去河邊找鬼蹬铺。 笑死尝哆,一個胖子當著我的面吹牛,可吹牛的內容都是我干的甜攀。 我是一名探鬼主播秋泄,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼琐馆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了恒序?” 一聲冷哼從身側響起瘦麸,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎歧胁,沒想到半個月后滋饲,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡喊巍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年屠缭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崭参。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡呵曹,死狀恐怖,靈堂內的尸體忽然破棺而出阵翎,到底是詐尸還是另有隱情逢并,我是刑警寧澤,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布郭卫,位于F島的核電站砍聊,受9級特大地震影響,放射性物質發(fā)生泄漏贰军。R本人自食惡果不足惜玻蝌,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望词疼。 院中可真熱鬧俯树,春花似錦、人聲如沸贰盗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舵盈。三九已至陋率,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間秽晚,已是汗流浹背瓦糟。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留赴蝇,地道東北人菩浙。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親劲蜻。 傳聞我的和親對象是個殘疾皇子陆淀,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,146評論 30 470
  • 我為什么要寫這篇文章 自己歸納總結倔约,為校招做準備 方便自己隨時查閱,鞏固記憶 予人玫瑰手有余香 一坝初、簡述iOS中U...
    DeepChafferer閱讀 745評論 0 1
  • 1.屬性readwrite浸剩,readonly,assign鳄袍,retain绢要,copy,nonatomic 各是什么作...
    曾令偉閱讀 1,057評論 0 10
  • 本人ios初學者拗小,為自己學習方便重罪,復制各位大神的學習性文章放在自己簡書里,僅作為自己學習方便使用哀九,如果作者疑此行為...
    bu再等閱讀 1,978評論 0 7
  • 有沒有遇到很想放棄的時候剿配? 就像沙漠中的海市蜃樓,黎明前看不見的啟明星阅束,風吹起的泡泡呼胚,絢爛而不真實。事實和理智告訴...
    凡綠閱讀 169評論 0 0