iOS面試題匯總1

一.OC的類可以多重繼承么熏纯?可以實現(xiàn)多個接口么?Category是什么着茸?重寫一個類的方式用繼承還是分類好壮锻?為什么?
不可以多重繼承涮阔;可以實現(xiàn)多個接口猜绣,通過實現(xiàn)多個接口可以完成C++的多重即成;
Category:是類別敬特,用于向已經(jīng)從在的類添加方法從而達(dá)到擴展已有類的目的掰邢,和子類不同的是,Category不能用于向北擴展類添加實例變量伟阔,通常作為一種組織框架代碼的工具來使用.
Category的用途:
1.在不創(chuàng)建繼承類的情況下實現(xiàn)對已由類的拓展辣之。
2.簡化類的開發(fā)工作
3.將常用的相關(guān)方法分組。
4.在沒有源代碼的情況下可以用來修復(fù)BUG
一般情況下用分類好皱炉,用Category去重寫類的方法怀估,僅對本Cayegory有效,不會影響到其他類與原有類的關(guān)系合搅。

二.#import和#include由什么區(qū)別多搀,@class呢,#import<>跟#import""又有什么區(qū)別?
1.#import是OC導(dǎo)入頭文件的關(guān)鍵字,#include是C/C++導(dǎo)入頭文件的關(guān)鍵字,使用#import頭文件會自動只導(dǎo)入一次不會重復(fù)導(dǎo)入灾部,相當(dāng)于#include和#pragma once;
2.@class告訴編譯器某個類的聲明康铭,當(dāng)執(zhí)行時,才會去查看類的實現(xiàn)文件赌髓,可以解決頭文件的互相飽含从藤;
3.#improt<>用來包含系統(tǒng)的頭文件,#imoport""用來包含用戶頭文件

三.屬性readwrite,readonly,assign,retain,copy,nonatomic各什么作用春弥?在哪種情況下使用
readwrite:可讀可寫呛哟,需要生成getter,setter方法時使用
readonly:只讀,只會生成getter方法匿沛,不會生成setter方法扫责,不希望屬性在類外改變
assign:賦值,setter方法將傳入?yún)?shù)賦值給實例變量逃呼,僅設(shè)置變量時使用
retain:表示持有特性鳖孤,setter方法將傳入?yún)?shù)西安保留者娱,再賦值,傳入?yún)?shù)的retaincount會+1苏揣;
copy:表示拷貝特性黄鳍,setter方法將傳入對象復(fù)制一份,需要完全一份心得變量時使用平匈。
nonatomic非原子操作框沟,決定編譯器生成的setter,getter是否是原子操作,atomic表示多線程安全增炭,一般使用nonatomic.

四.寫一個setter方法用于完成@property(nonatomic,retain)NSStringname,寫一個setter方法用于完成@property(nonatomic,copy)NSStringname

-(void)setName:(NSString *)str
{
[name retain];
[name release];
name = str;
}

-(void)setName:(NSString*)str
{
id t = [str copy];
[name release];
name = t;
}

五.對于語句NSString *obj = [NSData alloc]init];obj在編譯時和運行時分別是什么類型的對象忍燥。
編譯時是字符串類型,運行時是NSData類型對象

六.常見的OC數(shù)據(jù)類型有哪些隙姿,和C的基本數(shù)據(jù)類型有什么區(qū)別梅垄。
NSString,NSArray,NSMutableArray,NSData等等,這些都是class,創(chuàng)建后便是對象输玷,而C語言的基本數(shù)據(jù)類型是int队丝,知識一定子節(jié)的內(nèi)存空間,用于存放數(shù)值欲鹏。

七.id聲明的對象有什么特性
id聲明的對象具有運行時的特性机久,可以指向任意類型的OC的對象

八.OC如何對內(nèi)存管理的,說說你的看法和解決方法貌虾。
1.ARC(自動內(nèi)存計數(shù)):通過alloc-initial方法創(chuàng)建的吞加,創(chuàng)建后引用計數(shù)+1裙犹,此后每retain一次引用計數(shù)+1尽狠,那么在程序中做相應(yīng)次數(shù)的release就可以了。
2.手動內(nèi)存技術(shù):一般由類的靜態(tài)方法創(chuàng)建叶圃,函數(shù)名不會出現(xiàn)alloc或init滋養(yǎng)袄膏,創(chuàng)建后引用計數(shù)+0,在函數(shù)出棧后釋放掺冠,相當(dāng)于一個棧上的局部變量沉馆,也可以通過retain延長對象的生存期。
3.內(nèi)存池:可以通過創(chuàng)建和釋放內(nèi)存池控制內(nèi)存申請和回收的時機德崭。由autorelease加入系統(tǒng)內(nèi)存池斥黑,內(nèi)存池時可以嵌套的,每個內(nèi)存池都需要由一個創(chuàng)建釋放對眉厨,將一個對象加入到最內(nèi)層的系統(tǒng)內(nèi)存池锌奴,當(dāng)我們釋放這個內(nèi)存池時,其中的對象都會被釋放憾股。

八.使用nonatomic一定是線程安全的嗎鹿蜀?
nonatomic的內(nèi)存管理語義是非原子的箕慧,非原子的操作本來就是線程不安全的,而atomic的操作是原子的茴恰,但并不代表線程安全颠焦,能夠增加正確機率,更好的避免線程錯誤往枣,但是仍然是線程不安全的伐庭。
當(dāng)使用nonatomic的時候,屬性的setter和getter操作是非原子的分冈,所以多個線程對某一屬性進(jìn)行讀和寫的操作似忧,屬性的最終結(jié)果是不能預(yù)測的。
atomic是線程安全的,nonatomic是線程不安全的丈秩。如果只是單線程操作的話用nonatomic最好盯捌,因為后者效率高。

九.如何高性能的給UIImageView加個圓角? (不準(zhǔn)說layer.cornerRadius!)

一般情況下給 UIImageView 或者說 UIKit 的控件添加圓角都是改變clipsToBounds和layer.cornerRadius, 這樣大約兩行代碼就可以解決. 但是, 這樣使用這樣的方法會強制 Core Animation 提前渲染屏幕的離屏繪制, 而離屏繪制就會為性能帶來負(fù)面影響.
我們也可以使用另一種比較復(fù)雜的方式來為圖片添加圓角, 這里就用到了貝塞爾曲線.
UIImageViewimageView= [[UIImageView alloc] initWithFrame:CGRectMake(0,0,100,100)]; imageView.center = CGPointMake(200,300); UIImageanotherImage= [UIImage imageNamed:@"image"]; UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 1.0); [[UIBezierPath bezierPathWithRoundedRect:imageView.boundscornerRadius:50] addClip];[anotherImage drawInRect:imageView.bounds];imageView.image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self.view addSubview:imageView];

十.http的POST和GET有什么區(qū)別
GET類型的請求是冪等的蘑秽,而POST請求是有副作用的饺著,GET用于獲取一些資源而POST用于改變一些資源,這可能會創(chuàng)建新的資源或者更新已有的資源肠牲。POST請求比GET請求更加安全幼衰,也可以傳輸更多的信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缀雳,一起剝皮案震驚了整個濱河市渡嚣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肥印,老刑警劉巖识椰,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剩晴,死亡現(xiàn)場離奇詭異划纽,居然都是意外死亡,警方通過查閱死者的電腦和手機怔蚌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門敷硅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來功咒,“玉大人,你說我怎么就攤上這事绞蹦×Ψ埽” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵幽七,是天一觀的道長景殷。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么滨彻? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任藕届,我火速辦了婚禮,結(jié)果婚禮上亭饵,老公的妹妹穿的比我還像新娘休偶。我一直安慰自己,他們只是感情好辜羊,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布踏兜。 她就那樣靜靜地躺著,像睡著了一般八秃。 火紅的嫁衣襯著肌膚如雪碱妆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天昔驱,我揣著相機與錄音疹尾,去河邊找鬼。 笑死骤肛,一個胖子當(dāng)著我的面吹牛纳本,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播腋颠,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼繁成,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了淑玫?” 一聲冷哼從身側(cè)響起巾腕,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎絮蒿,沒想到半個月后尊搬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡歌径,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年毁嗦,在試婚紗的時候發(fā)現(xiàn)自己被綠了亲茅。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片回铛。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖克锣,靈堂內(nèi)的尸體忽然破棺而出茵肃,到底是詐尸還是另有隱情,我是刑警寧澤袭祟,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布验残,位于F島的核電站,受9級特大地震影響巾乳,放射性物質(zhì)發(fā)生泄漏您没。R本人自食惡果不足惜鸟召,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望氨鹏。 院中可真熱鬧欧募,春花似錦、人聲如沸仆抵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽镣丑。三九已至舔糖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間莺匠,已是汗流浹背金吗。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留趣竣,地道東北人辽聊。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像期贫,于是被迫代替她去往敵國和親跟匆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

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

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,166評論 30 470
  • 注:此文章來源:Job_Yang 的簡書 1. Object-c的類可以多重繼承么?可以實現(xiàn)多個接口么?Categ...
    廣益散人閱讀 1,350評論 0 13
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,360評論 0 35
  • iOS面試小貼士 ———————————————回答好下面的足夠了------------------------...
    不言不愛閱讀 1,990評論 0 7
  • 錦城花滿飲瓊樓,少年搖扇許風(fēng)流 金尊斗杯歌與酒封孙,笑談他日我封侯 最溫情紅袖添香繞指柔迹冤, 再難舍輕舟別離相執(zhí)手, 點...
    顧執(zhí)七言閱讀 298評論 0 0