- 相關(guān)推薦
ios面試筆試題
招聘公司出ios面試筆試題事為了選出更優(yōu)秀的人才,以下是ios面試筆試題,歡迎閱覽!
1. Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?Category是什么?重寫一個類的方式用繼承好還是分類好?為什么?
答: Object-c的類不可以多重繼承;可以實現(xiàn)多個接口,通過實現(xiàn)多個接口可以完成C++的多重繼承;Category是類別,一般情況用分類好,用Category去重寫類的方法,僅對本Category有效,不會影響到其他類與原有類的關(guān)系。
2. #import 跟#include 又什么區(qū)別,@class呢, #import<> 跟 #import””又什么區(qū)別?
答:#import是Objective-C導(dǎo)入頭文件的關(guān)鍵字,#include是C/C++導(dǎo)入頭文件的關(guān)鍵字,使用#import頭文件會自動只導(dǎo)入一次,不會重復(fù)導(dǎo)入,相當(dāng)于#include和#pragma once;@class告訴編譯器某個類的聲明,當(dāng)執(zhí)行時,才去查看類的實現(xiàn)文件,可以解決頭文件的相互包含;#import<>用來包含系統(tǒng)的頭文件,#import””用來包含用戶頭文件。
3. 屬性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那種情況下用?
答:
1). readwrite 是可讀可寫特性;需要生成getter方法和setter方法時
2). readonly 是只讀特性 只會生成getter方法 不會生成setter方法 ;不希望屬性在類外改變
3). assign 是賦值特性,setter方法將傳入?yún)?shù)賦值給實例變量;僅設(shè)置變量時;
4). retain 表示持有特性,setter方法將傳入?yún)?shù)先保留,再賦值,傳入?yún)?shù)的retaincount會+1;
5). copy 表示賦值特性,setter方法將傳入對象復(fù)制一份;需要完全一份新的變量時。
6).nonatomic 非原子操作,決定編譯器生成的setter getter是否是原子操作,atomic表示多線程安全,一般使用nonatomic
4.對于語句NSString*obj = [[NSData alloc] init]; obj在編譯時和運(yùn)行時分別時什么類型的對象?
答: 編譯時是NSString的類型;運(yùn)行時是NSData類型的對象
5.常見的object-c的數(shù)據(jù)類型有那些, 和C的基本數(shù)據(jù)類型有什么區(qū)別?如:NSInteger和int
答:object-c的數(shù)據(jù)類型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,這些都是class,創(chuàng)建后便是對象,而C語言的基本數(shù)據(jù)類型int,只是一定字節(jié)的內(nèi)存空間,用于存放數(shù)值;NSInteger是基本數(shù)據(jù)類型,并不是NSNumber的子類,當(dāng)然也不是NSObject的子類。NSInteger是基本數(shù)據(jù)類型Int或者Long的別名(NSInteger的定義typedef long NSInteger),它的區(qū)別在于,NSInteger會根據(jù)系統(tǒng)是32位還是64位來決定是本身是int還是Long。
6.id 聲明的對象有什么特性?
答:Id 聲明的對象具有運(yùn)行時的特性,即可以指向任意類型的objcetive-c的對象;
【ios面試筆試題】相關(guān)文章:
投行面試題07-24
軟件測試面試題01-17
來看看谷歌的面試題08-17
中層副職競聘面試題09-05
考察個人價值觀的另類面試題02-21
壓力危機(jī)類面試題目突破技巧11-09
人力資源行業(yè)常見面試題匯總02-03
面試中的邏輯思維能力測試題10-21