1.iOS define和const的區(qū)別
宏的用法:一般字符串抽成宏员帮,代碼抽成宏使用铸屉。
const用法:一般常用的字符串定義成const(對(duì)于常量字符串蘋(píng)果推薦我們使用const)涂圆。
- 宏與const區(qū)別:
1 編譯時(shí)刻不同钳枕,宏屬于預(yù)編譯 横朋,const屬于編譯時(shí)刻
2 宏能定義代碼梦重,const不能兑燥,多個(gè)宏對(duì)于編譯會(huì)相對(duì)時(shí)間較長(zhǎng),影響開(kāi)發(fā)效率琴拧,調(diào)試過(guò)慢降瞳,const只會(huì)編譯一次,縮短編譯時(shí)間。
3 宏不會(huì)檢查錯(cuò)誤挣饥,const會(huì)檢查錯(cuò)誤 - const修飾位置不同除师,代表什么?
1.const NSString * partVarial = @"漢斯哈哈哈";
2.NSString const * partVarial = @"漢斯哈哈哈";
3.NSString * const partVarial = @"漢斯哈哈哈";
1.const NSString * partVarial = @"漢斯哈哈哈";
"*partVarial"不能被修改扔枫, "partVarial"能被修改
2.NSString const * partVarial = @"漢斯哈哈哈";
"*partVarial"不能被修改汛聚, "partVarial"能被修改
3.NSString * const partVarial = @"漢斯哈哈哈";
"partVarial"不能被修改,"*partVarial"能被修改
- 結(jié)論:const右邊的總不能被修改
所以一般我們定義一個(gè)常量又不想被修改應(yīng)該這樣:
NSString * const partVarial = @"漢斯哈哈哈";
轉(zhuǎn)載:http://www.reibang.com/p/87df639655fc
2.iOS RunLoop在項(xiàng)目中具體應(yīng)用
1:創(chuàng)建常駐線(xiàn)程
2:優(yōu)化定時(shí)器NSTimer
3:發(fā)現(xiàn)和消除卡頓
4:使用異常捕捉技術(shù)和RunLoop讓APP一些一般的崩潰能夠繼續(xù)往下運(yùn)行
轉(zhuǎn)載:http://www.reibang.com/p/69c8e3889c27
其他面試參考:
2020 iOS面試題及答案 最底部是阿里抖音的面試題
轉(zhuǎn)載:http://www.reibang.com/p/fc82a2dde5bf