面試題

1. const與宏的區(qū)別

  • 蘋果一直推薦我們使用const 而不是宏,
  • 編譯時刻:宏:預(yù)編譯 const:編譯
  • 編譯檢查: 宏沒有編譯檢查,const有編譯檢查
  • 宏的好處: 定義函數(shù),方法,const不同
  • 宏的壞處: 大量使用宏,會導(dǎo)致預(yù)編譯時間過長.

const作用

  • 修飾右邊的基本變量或指針變量
  • 被const修飾的變量只讀

static

  • 修飾局部變量
  • 修飾局部變量,延長生命周期,跟整個應(yīng)用程序有關(guān)
  • 被static修飾的局部變量只分配一次內(nèi)存,程序一運行就會分配內(nèi)存
  • 修飾全局變量
  • 作用域會修改,只能在當(dāng)前文件使用

extern的作用

  • 聲明外部全局變量,只能用于聲明,不能定義
  • 原理:先會去當(dāng)前文件下查找有沒有對應(yīng)的全局變量,如果沒有,才回去其他文件查找
static NSString *const name = @"lili";
.h
extern NSString *const name ;
.m 
NSString *const name = @"lili";

判斷一個字符串是否包含另個字符串

  • 通用方法:
if ([currentText rangeOfString:text].location == NSNotFound) { // 不包含
           isSelected = NO;
       } else {
           isSelected = YES;
       }
       
* iOS 8 后可以使用- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);

### 9 判斷一個字符串是否包含另個字符串
* 通用方法:

if ([currentText rangeOfString:text].location == NSNotFound) { // 不包含
isSelected = NO;
} else {
isSelected = YES;
}

  • iOS 8 后可以使用- (BOOL)containsString:(NSString *)str NS_AVAILABLE(10_10, 8_0);
2.什么情況使用 weak 關(guān)鍵字,相比 assign 有什么不同碘举?
  • 在ARC中,在有可能出現(xiàn)循環(huán)引用的的時候,往往要通過讓其中一端使用weak來解決,比如delegate代理屬性

  • 不同點:weak此特質(zhì)表明屬性定義了一種非擁有關(guān)系,為這種屬性設(shè)置新值時,設(shè)置方法既不保留新值,也不釋放舊值.在屬性所指的對象遭到摧毀時,屬性值也會清空.assign的設(shè)置方法只會執(zhí)行針對純量類型的簡單賦值操作.

  • assign可以用非OC對象,而weak必須用于OC對象.

3.atomic 同步鎖,會在創(chuàng)建時生成一些額外的代碼用于幫助編寫多線程程序,這會帶來性能問題,nonautomic可以節(jié)省這些雖然很小但是不必要額外開銷.一般情況下并不要求屬性必須是“原子的”忘瓦,因為這并不能保證“線程安全” ( thread safety),若要實現(xiàn)“線程安全”的操作引颈,還需采用更為深層的鎖定機(jī)制才行耕皮。例如,一個線程在連續(xù)多次讀取某屬性值的過程中有別的線程在同時改寫該值蝙场,那么即便將屬性聲明為 atomic凌停,也還是會讀到不同的屬性值。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末售滤,一起剝皮案震驚了整個濱河市罚拟,隨后出現(xiàn)的幾起案子台诗,更是在濱河造成了極大的恐慌,老刑警劉巖赐俗,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拉队,死亡現(xiàn)場離奇詭異,居然都是意外死亡阻逮,警方通過查閱死者的電腦和手機(jī)粱快,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叔扼,“玉大人事哭,你說我怎么就攤上這事”依” “怎么了慷蠕?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵珊拼,是天一觀的道長食呻。 經(jīng)常有香客問我,道長澎现,這世上最難降的妖魔是什么仅胞? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮剑辫,結(jié)果婚禮上干旧,老公的妹妹穿的比我還像新娘。我一直安慰自己妹蔽,他們只是感情好椎眯,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著胳岂,像睡著了一般编整。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乳丰,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天掌测,我揣著相機(jī)與錄音,去河邊找鬼产园。 笑死汞斧,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的什燕。 我是一名探鬼主播粘勒,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屎即!你這毒婦竟也來了庙睡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎埃撵,沒想到半個月后赵颅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡暂刘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年饺谬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谣拣。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡募寨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出森缠,到底是詐尸還是另有隱情拔鹰,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布贵涵,位于F島的核電站列肢,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏宾茂。R本人自食惡果不足惜瓷马,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望跨晴。 院中可真熱鬧欧聘,春花似錦、人聲如沸端盆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焕妙。三九已至蒋伦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間访敌,已是汗流浹背凉敲。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留寺旺,地道東北人爷抓。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像阻塑,于是被迫代替她去往敵國和親蓝撇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

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

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結(jié)起來就是把...
    Dove_iOS閱讀 27,139評論 30 470
  • 1.OC里用到集合類是什么陈莽? 基本類型為:NSArray渤昌,NSSet以及NSDictionary 可變類型為:NS...
    輕皺眉頭淺憂思閱讀 1,374評論 0 3
  • 史上最全的iOS面試題及答案 iOS面試小貼士———————————————回答好下面的足夠了----------...
    Style_偉閱讀 2,352評論 0 35
  • 一虽抄、(一共三十題) 1.main() { int a[5]={1,2,3,4,5}; int *ptr=(int ...
    iOS_Alex閱讀 967評論 0 0
  • 記得很小的時候,從小就是在舅舅家長大独柑,舅舅家是開餐廳的迈窟。那時候父母外出打工,把我和姐姐從小寄養(yǎng)在舅舅家忌栅。還很清楚...
    吳鳳蝶閱讀 1,590評論 0 0