1.presentViewController和pushViewController區(qū)別:
presentViewController:與dismissViewControllerAnimated配對(duì)使用赊级,不含有導(dǎo)航條
pushViewController:push后的控制器view顯示導(dǎo)航條
2.- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory方法理解:
作用:1.判斷path下文件是否存在
2.判斷是文件還是目錄(isDirectory是傳出參數(shù),用于判斷是文件還是目錄)
3.創(chuàng)建block匿名函數(shù)之前一般需要對(duì)self進(jìn)行weak化椎组,否則造成循環(huán)引用無(wú)法釋放controller:
__weak MyController weakSelf = self 或者 __weak __typeof(self) weakSelf = self;
執(zhí)行block方法體的時(shí)候也可以轉(zhuǎn)換為強(qiáng)引用之后再使用:MyController strongSelf = weakSelf; if (!strongSelf) { return; }
- 告訴tableView所有cell的高度是自動(dòng)計(jì)算的(根據(jù)設(shè)置的約束來(lái)計(jì)算)
self.tableView.rowHeight = UITableViewAutomaticDimension;
5.對(duì)于@property關(guān)鍵字竣灌,在類中一般聲明私有成員變量以及setter和getter方法坊饶,而在分類中只會(huì)生成setter和getter方法
- (void)load{
NSLog(@"%f);
}訪問分類中的變量
6.Invalid operands to binary expression:類型不匹配漂羊,可能是整形變量定義時(shí)前面加了*
7.在類方法中稽寒,有些框架的方法不能被調(diào)用?(sd_setImageWithURL)
8.關(guān)于XMGViewController *vc = [[XMGViewController alloc] init]中的init方法小結(jié):
init方法底層默認(rèn)會(huì)調(diào)用initWithNibName方法磁椒,首先判斷nibName有沒有值堤瘤,若有值,則直接加載nibName指定的文件浆熔,若沒有執(zhí)行以下代碼:
1.若nibName為空本辐,則加載與控制器同名的xib,XMGViewController.xib
2.若沒有與控制器同名的xib医增,則加載相似名稱的xib慎皱,XMGView.xib
3.若沒有與控制器相似名稱的xib,則系統(tǒng)默認(rèn)創(chuàng)建一個(gè)空的view
9.當(dāng)頁(yè)面跳轉(zhuǎn)叶骨,跳轉(zhuǎn)到的頁(yè)面無(wú)法設(shè)置背景色的時(shí)候可能是控制器沒有view
10.快速將項(xiàng)目提交到遠(yuǎn)程代碼庫(kù)的方法:
1.在oschina創(chuàng)建代碼庫(kù)
2.利用xcode將遠(yuǎn)程代碼庫(kù)check到本地初始化茫多,本地化。
3.將已經(jīng)創(chuàng)建的項(xiàng)目放到與git同級(jí)的目錄下邓萨,用xcode打開項(xiàng)目地梨,然后點(diǎn)擊commit,并且同事勾選push一切就ok了缔恳。
11.layoutSubviews在以下情況下會(huì)被調(diào)用:
1宝剖、init初始化不會(huì)觸發(fā)layoutSubviews
但是是用initWithFrame 進(jìn)行初始化時(shí),當(dāng)rect的值不為CGRectZero時(shí),也會(huì)觸發(fā)
2歉甚、addSubview會(huì)觸發(fā)layoutSubviews
3万细、設(shè)置view的Frame會(huì)觸發(fā)layoutSubviews,當(dāng)然前提是frame的值設(shè)置前后發(fā)生了變化
4纸泄、滾動(dòng)一個(gè)UIScrollView會(huì)觸發(fā)layoutSubviews
5赖钞、旋轉(zhuǎn)Screen會(huì)觸發(fā)父UIView上的layoutSubviews事件
6、改變一個(gè)UIView大小的時(shí)候也會(huì)觸發(fā)父UIView上的layoutSubviews事件
12.動(dòng)態(tài)語(yǔ)言與靜態(tài)語(yǔ)言的區(qū)別:
靜態(tài)語(yǔ)言的數(shù)據(jù)類型是在編譯時(shí)確定的,動(dòng)態(tài)語(yǔ)言的數(shù)據(jù)類型是在程序運(yùn)行時(shí)確定的.多數(shù)靜態(tài)語(yǔ)言在使用之前,必須聲明數(shù)據(jù)類型;
oc動(dòng)態(tài)語(yǔ)言的三大特性:動(dòng)態(tài)類型\動(dòng)態(tài)綁定\動(dòng)態(tài)加載