歡迎來到 職場詞典網 , 一個優秀的職場知識學習網站!
Ui筆試正在火熱進行中,為了幫助考生們更好、更有準備地參加考試,小編整理了一些Ui筆試模擬題目答案,希望對你有幫助。
一、選擇題(每題4分)
1.下面哪個不是按鈕(Button)的狀態?
A. normal
B. highlighted
C. disabled
D. touchInside
參考答案:D
2.下面哪一個是其中三個類的父類?
A. UIButton
B. UILabel
C. UIView
D. UIImageView
參考答案:C
3.下面哪一個不是確定控件位置的屬性?
A. frame
B. CGRect
C. bounds
D. center
參考答案:B
4.在4英寸Retina屏幕的設備上,一個點是一個( )的格子?
A. 1像素 * 2像素
B. 1像素 * 1像素
C. 2像素 * 2像素
D. 2像素 * 1像素
參考答案:C
5.所有可以觸發操作方法的iOS控件都是( )的子類。
A. UIView
B. UIControl
C. NSResponder
D. UIResponder
參考答案:B
6.在UIKit中,frame與bounds的區別是?
A. frame 是 bounds 的別名
B. frame 是 bounds 的繼承類
C. frame 的參考系是父視圖坐標,bounds 的參考系是自身的坐標
D. frame 的參考系是自身坐標,bounds 的參考系是父視圖的坐標 參考答案:C
7.UIButton 和 UIImageView 的說法正確的是?
A. 默認都能顯示圖片
B. 默認都能顯示文字
C. 默認都能響應事件
D. 以上說法都是正確的
參考答案:A
8.如果UIScrollView無法滾動,以下原因哪個是不正確的?
A. 沒有取消autolayout功能
B. 沒有接收到觸摸事件:userInteractionEnabled = NO
C. scrollEnabled = YES
D. 沒有設置contentSize
參考答案:C
9.下面那個不是UITableView數據源方法?
A. -
(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView;
B. - (CGFloat)tableView:(UITableView*)tableView
heightForRowAtIndexPath:(NSIndexPath*)Path;
C. -(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)Path;
D. - (NSInteger)tableView:(UITableView*)tableView
numberOfRowsInSection:(NSInteger)section;
參考答案:B
10.關于字典轉模型不正確的是?
A. 字典轉模型的后,性能會大大提升
B. 防止因為字典的 Key 寫錯導致加載數據出錯
C. 模型的屬性寫錯編譯器會直接報錯
D. 使用模型訪問屬性,編譯器會給相應的提示,提高開發效率。
參考答案:A
11.關于instancetype和 id 描述不正確的是?
A. instancetype和 id意義相同
B. linstancetype在類型表示上,跟id一樣,可以表示任何對象類型
C. linstancetype只能用在返回值類型上,不能像id一樣用在參數類型上
D. linstancetype比id多一個好處:編譯器會檢測instancetype的真實類型
參考答案:A
12.關于 UIbutton 下面描述錯誤的是?
A. UIbutton的 title 可以直接進行賦值改變
B. UIbutton 的背景圖片會填充整個 button 的區域,圖片會拉伸
C. UIbutton 設置 iamge 屬性的時候,圖片不會占據整個 button
D. UIbutton 設置屬性的時候如果直接賦值可能沒有效果,最好通過 setter 方法設置,并且指定狀態.
參考答案:A
13.關于懶加載,下列描述錯誤的是?
A. 懶加載其實就是 getter 方法
B. 不調用一個屬性的getter, 懶加載就會失效
C. 調用帶下劃線的屬性可以觸發懶加載方法
D. 懶加載其實就是使用時再加載.
參考答案:C
14.在使用 tableview 的時候,數據源方法- (UITableViewCell *) tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)Path;沒有調用,下列有可能導致的因素有?
(1).沒有設置數據源為當前控制器
(2).-(NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section;方法返回值為0;
(3).沒有實現-
(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
(4).沒有手動強引用 tableview
A. (1)(2)
B. (1)(3)
C. (1)(4)
D. (3)(4)
參考答案:A
15.關于UItableviewCell 的重用原理,正確的是?
A. 不管有多少個 cell, 只創建一個 cell 進行重用
B. 只有當緩存池里面的 cell 不能滿足重用的時候才會創建新的 cell 用于顯示
C. cell 創建后就會自動進入緩存池中
D. 緩存池中的 同一個cell 是同時可以被顯示多次的
參考答案:B
二、簡答題
1.請詳細回答strong/weak/assign/copy關鍵字的作用與區別(10分)
參考答案:
strong一般在ARC中用于除NSString/block之外的OC對象 weak在ARC中當指針不需要對對象強引用時使用weak.ARC中當兩個對象具有互相擁有的關系時,應該一端用strong,一端用weak assign在ARC中一般用于基本數據類型.在MRC中如果兩個對象具有相互擁有的關系時,應該一端用retain,一端用assign copy一般用于NSString和block.
2.NSString對象作為屬性時為什么推薦使用copy關鍵字修飾,什么時候可以用strong修飾呢?(10分)
參考答案:
為了防止NSMutableString被無意中修改, NSMutableString是NSString的子類, 因此NSString指針可以持有NSMutableString對象.
當該屬性真實類型就是NSString時,完全可以使用strong來修飾.
下一篇:2017年關于廣發銀行筆試經驗 下一篇 【方向鍵 ( → )下一篇】
上一篇:大學學生會筆試題目及答案 上一篇 【方向鍵 ( ← )上一篇】
快搜