UI基礎--筆試題解析(含答案)


        1肉拓、以下對響應鏈說法錯誤的是:答案:(A)
        A蹲坷、當事件發(fā)生的時候组民,響應鏈首先被發(fā)送給第一個響應者  //響應者鏈——檢測觸碰視圖 :觸碰屏幕->硬件檢測->UIApplication->window->viewController->view->檢測所有子試圖->最終確認觸碰位置.
        B丢间、事件將沿著響應者鏈一直向下傳遞,直到被接受并作出處理
        C、如果整個過程都沒有響應這個事件,則該事件最終要由APP Delegate做出處理
        D鳖轰、一般情況下,在響應鏈中只要有對象處理事件扶镀,事件就會被傳遞 // 傳遞給該對象后不再傳遞.

    2蕴侣、以下對多線程開發(fā)的理解錯誤的是:答案:(C)
    A、發(fā)揮多核處理器的優(yōu)勢臭觉,并發(fā)執(zhí)行讓系統(tǒng)運行的更快昆雀、更流暢,用戶體驗更好
    B蝠筑、多線程程序中狞膘,一個進程包含2個以上的線程(含2個)
    C、大量的線程降低代碼的可讀性什乙,但不需要更多的內存空間 // 前半句正確,后半句錯,需要更多的內存空間
    D挽封、當多個線程對同一個資源出現(xiàn)爭奪的時候要注意線程安全的問題

    3、實現(xiàn)一個生成Student實例對象的便利構造器的正確寫法是:答案:(A)
    A稳强、+ (id)studentWithName:(NSString *)newName andAge:(int)newAge
    {
      Student *stu = [[[Student alloc] initWithName:newName andAge:newAge] autorelease];
      return stu;
    }
    B、 - (id)studentWithName:(NSString *)newName andAge:(int)newAge
    {
      Student *stu = [[Student alloc] initWithName:newName andAge:newAge];
      return [stu autorelease];
    }
    C和悦、 - (void)studentWithName:(NSString *)newName andAge:(int)newAge
    {
      Student *stu = [[Student alloc] initWithName:newName andAge:newAge];
      return [stu autorelease];
    }
    D退疫、 + (void)studentWithName:(NSString *)newName andAge:(int)newAge
    {
      Student *stu = [[Student alloc] initWithName:newName andAge:newAge];
      return [stu autorelease];
    }

    4、獲取tableview正在window上顯示的cell的indexPath方法是:答案:(B)
    A鸽素、- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;// 獲取cell
    B褒繁、- (NSArray *)indexPathsForVisibleRows;
    C、- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;// cell的點擊方法
    D馍忽、- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath;

    5棒坏、下面關于深拷貝與淺拷貝理解正確的是:答案:(A)
    A燕差、深拷貝拷貝的是內容,淺拷貝拷貝的是指針坝冕。
    B徒探、深拷貝和淺拷貝最大的區(qū)別就是子類對象的地址是否改變。
    C喂窟、深拷貝是對對象本身復制测暗,但是不對對象的屬性進行復制。
    D磨澡、如果子類對象的地址改變那么就是深拷貝碗啄。

    6、關于OC內存管理方面說法錯誤的是:答案:(B)
    A稳摄、OC中的內存管理采用引用計數(shù)機制 // 內存釋放后并不是內存立即被干掉,而是沒有對象對它有持有權.
    B稚字、autorelease pool 是OC中一種自動的垃圾回收機制 // 不是自動的回收.
    C、alloc厦酬、new或copy來創(chuàng)建一個對象胆描,那么你必須調用release或autorelease
    D、OC的內存管理機制本質上還是C語言中的手動管理方式,只不過稍加了一些自動方法

    7弃锐、以下的代碼會出現(xiàn)什么問題:
    @implementation Person
    - (void)setAge:(int)newAge {
      self.age = newAge;
    }
    @end答案:(B)
    A袄友、會造成循環(huán)引用
    B、會造成死循環(huán) // 該點語法本身是調用set語法,在set中調用set方法賦值,造成死循環(huán).
    C霹菊、會出現(xiàn)內存泄露
    D剧蚣、會出現(xiàn)野指針

    8、對于UIScrollViewController旋廷,scrollView將開始降速時,執(zhí)行的方法是:答案:(D)
    A鸠按、- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;{ }// 開始拖拽
    B、- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;{ }// 已經減速完成,靜止了
    C饶碘、- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;{ }// 結束滾動
    D目尖、- (void)scrollViewWillBeginDecelerating:

    9、以下哪個控件不是繼承于UIControl答案:(D)
    A扎运、UIButton
    B瑟曲、UITextField
    C、UISlider
    D豪治、UITextView // UIScrollView的子類

    10洞拨、下面對UIView、UIWindow和CALayer理解錯誤的是:答案:(C)
    A负拟、UIView繼承于UIResponder
    B烦衣、UIResponder繼承于NSObject,UIView可以響應用戶事件。
    C、UIResponder繼承與NSObject,CALayer繼承于NSObject花吟,CALayer可以響應事件秸歧。//CALayer不響應事件,只繪制內容
    D、UIView是用來顯示內容的衅澈,可以處理用戶事件,CALayer是用來繪制內容的,依賴與UIView來進行顯示

    11键菱、以下關于視圖的frame與bounds的理解錯誤的是:答案:(A)
    A、bounds是指這個view在window坐標系的坐標和大小 // frame和bounde詳解 http://www.reibang.com/p/c9494fb01678
    B矾麻、frame指的是這個view在它superview的坐標系的坐標和大小
    C纱耻、frame和bounds是UIView中的兩個屬性(property)。
    D险耀、一個是以自身左上角的店為原點的坐標系弄喘,一個是以屏幕左上角的點為原點的坐標系。

    12甩牺、以下哪個方法在當程序將要退出時被調用蘑志,且通常在此方法里寫一些用來保存數(shù)據(jù)和一些退出前的清理工作。答案:(B)
    A贬派、- (void)applicationExitsOnSuspend:(UIApplication *)application{ }
    B急但、- (void)applicationDidEnterBackground:(UIApplication *)application{ } // 程序進入后臺要執(zhí)行的方法,一般保存數(shù)據(jù)和清理在該方法中,雖然選項C是程序將要退出時被調用,但是數(shù)據(jù)保存和清理一般不在該方法中.
    C、- (void)applicationWillTerminate:(UIApplication *)application{ }
    D搞乏、- (void)applicationDidFinishLaunching:(UIApplication *)application{ }

    13波桩、很多內置類如UITableViewController的delegate屬性都是assign而不是retain,這是為了:答案:(D)
    A请敦、防止造成內存泄露
    B镐躲、防止出現(xiàn)野指針
    C、防止出現(xiàn)過度釋放
    D侍筛、防止循環(huán)引用

    14萤皂、以下不屬于ios中實現(xiàn)多線程的方法是:答案:(D)// 還有一種:NSObject 實現(xiàn)異步后臺執(zhí)行
    A、NSThread
    B匣椰、NSOperationQueue
    C裆熙、Grand Central Dispatch(GCD)
    D、NSURLRequest

    15禽笑、對于UISearchBar入录,要實現(xiàn)實時搜索(即搜索內容實時發(fā)生變化時),會執(zhí)行以下哪個方法:答案:(C)
    A佳镜、- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar;
    B僚稿、- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar;
    C、- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{ }
    D邀杏、- (void)searchBarResultsListButtonClicked:(UISearchBar *)searchBar{ } 

    16贫奠、以下關于導航欄外觀屬性對應的解釋錯誤的是:答案:(D)
    A、barStyle bar的樣式
    B望蜡、translucent bar的透明度
    C唤崭、backgroundImage bar的背景圖片
    D、barTintColor bar上控件的顏色 // bar本身的前端顏色

    17脖律、當程序從后臺將要重新回到前臺的時候谢肾,會先執(zhí)行以下哪個方法:答案:(B)
    A、- (void)applicationDidFinishLaunching:(UIApplication*)application{ }// 應用程序加載完畢
    B小泉、- (void)applicationWillEnterForeground:(UIApplication *)application{ } // 將要進入前臺
    C芦疏、- (void)applicationDidBecomeActive:(UIApplication *)application{ }
    D、 - (void)applicationWillTerminate:(UIApplication *)application{ }

    18微姊、實現(xiàn)一個singleton的類酸茴,下面正確的是:答案:(A)
    A、static LOSingleton * shareInstance;
    + ( LOSingleton *)sharedInstance{
     @synchronized(self){
      if (shareInstance == nil) {
       shareInstance = [[self alloc] init];
      }
     }
     return shareInstance;
    }
    
    B兢交、static LOSingleton * shareInstance;
    - ( LOSingleton *)sharedInstance{
     @synchronized(self){
      if (shareInstance == nil) {
       shareInstance = [[self alloc] init];
      }
     }
     return shareInstance;
    }
    
    C薪捍、+ (LOSingleton *) sharedInstance
    {
     LOSingleton *sharedInstance = nil ; // 少了static  應該是 static LOSingleton *sharedInstance = nil ;
     static dispatch_once_t onceToken;  
     dispatch_once (& onceToken, ^ {  
      sharedInstance = [[self alloc] init];
     });
     return sharedInstance;
    }
    
    D、- (LOSingleton *) sharedInstance
    {
     static LOSingleton *sharedInstance = nil ;
     static  dispatch_once_t onceToken;  
     dispatch_once (& onceToken, ^ {  
      sharedInstance = [[self alloc] init];
     });
     return sharedInstance;
    }

    19配喳、當應用程序將要進入非活動狀態(tài)執(zhí)行酪穿,在此期間,應用程序不接收消息或事件晴裹,比如來電話了被济,此時會先執(zhí)行以下哪個方法:答案:(D)
    A、- (void)applicationDidBecomeActive:(UIApplication *)application{ }
    B涧团、- (void)applicationDidEnterBackground:(UIApplication *)application{ }
    C只磷、- (void)applicationWillTerminate:(UIApplication *)application{ }
    D、- (void)applicationWillResignActive:(UIApplication *)application{ }

    20少欺、應用程序啟動順序正確的是:
    ①在UIApplication代理實例中重寫啟動方法喳瓣,設置第一個ViewController
    ②程序入口main函數(shù)創(chuàng)建UIApplication實例和UIApplication代理實例
    ③在第一個ViewController中添加控件,實現(xiàn)對應的程序界面赞别。 答案:(B)
    A畏陕、①②③
    B、②①③
    C仿滔、①③②
    D惠毁、③①②

    21、對于UICollectionViewController,實現(xiàn)定義每個元素的margin(邊緣 上-左-下-右) 的方法是:答案:(B)
    A崎页、- (CGSize)collectionView:(UICollectionView *)collectionView
     layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {  
     return CGSizeMake();  
    }
    B鞠绰、- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView
     layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
    {  
     return UIEdgeInsetsMake();  
    }
    C、- (CGSize)collectionView:(UICollectionView *)collectionView
     layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForHeaderInSection:(NSInteger)section
    {      
     return CGSizeMake();  
    }
    D飒焦、- (CGSize)collectionView:(UICollectionView *)collectionView
     layout:(UICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section
    {  
     return CGSizeMake();  
    }

    22蜈膨、以下對于UIScrollView的屬性屿笼,說法錯誤的是:答案:(D)
    A、bounces 控制控件遇到邊框是否反彈
    B翁巍、pagingEnabled 控制控件是否整頁翻動
    C驴一、scrollEnabled 控制控件是否能滾動
    D、contentInset 滾動范圍大小 // contentSize 才是滾動范圍大小

    23灶壶、對于UIScrollViewController肝断,監(jiān)控目前滾動的位置的屬性是:答案:(A)
    A、contentOffSet // 偏移量
    B驰凛、contentSize
    C胸懈、contentInset
    D、scrollIndicatorInsets

    24恰响、在MVC框架中趣钱,M與C通訊,通常使用什么方式胚宦?答案:(A)
    A羔挡、KVO與通知
    B、協(xié)議-代理 // C 和 V 
    C间唉、類目 
    D绞灼、屬性

    25、對于UILabel,設置單詞折行方式的屬性是:答案:(B)
    A呈野、textAlignment // 對齊方式
    B低矮、lineBreakMode 
    C、numberOfLines
    D被冒、sizeToFit // 自適應Size

    26军掂、關于ViewController 的 alloc,loadView, viewDidLoad,viewWillAppear的調用昨悼,說法錯誤的是:答案:(C)
    A蝗锥、alloc在初始化當前的ViewController時調用
    B、沒有正在使用nib視圖頁面率触,子類將會創(chuàng)建自己的自定義視圖層時調用loadView
    C终议、視圖將要加載完畢時,viewDidLoad被調用
    D葱蝗、視圖即將出現(xiàn)的時候調用viewWillAppear

    27穴张、關于系統(tǒng)自帶的UITableViewCell,以下說法正確的是:答案:(D)
    A、Cell基本組成:編輯两曼、內容皂甘、輔助
    B、編輯:editView悼凑。tableView被編輯時顯示
    C偿枕、內容:contentView璧瞬。包含imageView,textField等
    D渐夸、accessoryView彪蓬。顯示cell的輔助信息

    28、UITableView重用機制中捺萌,會將重用的cell放到哪種類型的集合中。答案:(B)
    A膘茎、NSMutableArray
    B桃纯、NSMutableSet
    C、NSDictionary
    D披坏、NSMutableDictionary

    1态坦、UISlider、UISwitch棒拂、UITextField這些類都繼承于UIControl這個類伞梯。答案:(T)
    正確
    錯誤

    2、[textField resignFirstResponder]; 表示讓文本輸入框成為第一響應者, 彈出鍵盤進入編輯模式帚屉。答案:(F) // 取消第一響應者
    正確
    錯誤

    3谜诫、[self.view popToViewController: animated: YES];表示彈出一個視圖控制器攻旦,到指定視圖控制器上喻旷。答案:(F) // 返回(入棧出棧) 并沒有彈出
    正確
    錯誤

    4、numberOfTapsRequired這個方法能獲取到的是有幾只手指點擊牢屋。答案:(F)// 輕拍次數(shù)
    正確
    錯誤

    5且预、[segmentedControl titleForSegmentAtIndex: ]表示指定索引文字的選項。答案:(T)
    正確
    錯誤

附上一張繼承關系圖:

繼承關系.jpg

MVC:

MVC.jpg
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末烙无,一起剝皮案震驚了整個濱河市锋谐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌截酷,老刑警劉巖涮拗,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異迂苛,居然都是意外死亡多搀,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門灾部,熙熙樓的掌柜王于貴愁眉苦臉地迎上來康铭,“玉大人,你說我怎么就攤上這事赌髓〈犹伲” “怎么了催跪?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長夷野。 經常有香客問我懊蒸,道長,這世上最難降的妖魔是什么悯搔? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任骑丸,我火速辦了婚禮,結果婚禮上妒貌,老公的妹妹穿的比我還像新娘通危。我一直安慰自己,他們只是感情好灌曙,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布菊碟。 她就那樣靜靜地躺著,像睡著了一般在刺。 火紅的嫁衣襯著肌膚如雪逆害。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音,去河邊找鬼畜吊。 笑死奶赠,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼队丝!你這毒婦竟也來了?” 一聲冷哼從身側響起欲鹏,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤机久,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后赔嚎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膘盖,經...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年尤误,在試婚紗的時候發(fā)現(xiàn)自己被綠了侠畔。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡损晤,死狀恐怖软棺,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情尤勋,我是刑警寧澤喘落,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布茵宪,位于F島的核電站,受9級特大地震影響瘦棋,放射性物質發(fā)生泄漏稀火。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一赌朋、第九天 我趴在偏房一處隱蔽的房頂上張望凰狞。 院中可真熱鬧,春花似錦沛慢、人聲如沸赡若。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至往枣,卻和暖如春伐庭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背分冈。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工圾另, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雕沉。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓集乔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親坡椒。 傳聞我的和親對象是個殘疾皇子扰路,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容