instancetype和id
- instancetype:自動識別當前是哪個類在調用,就會變成對應類的對象
- 為什么不用id,因為id不能使用點語法,id可以調用任何對象的方法,不利于編譯器檢查錯誤
xib注意事項
- xib不綁定class就不能拖線,而且拖線要拖到分類里
UIDatePicker
- UIDatePicker有默認的尺寸,可以不用設置frame
pch的作用
- pch里面的所有內容都是共享
- 存放一些公用的宏
- 存放一些公用的頭文件
- 自定義Log(調試階段的時候才需要輸出日志,NSLog是比較消耗資源的)
- 宏里面的可變參數:...
- 函數中的可變參數:VA_ARGS
- 調試階段:#define XMGLog(...) NSLog(VA_ARGS)
- 發布階段:#define XMGLog(...) // NSLog(VA_ARGS)
- 更簡單的判斷方式:
#ifdef DEBUG // 調試階段
#define XMGLog(...) NSLog(__VA_ARGS__)
#else // 發布階段
#define XMGLog(...)
#endif
-
和C語言混編時可能會出現問題,所以需要在pch文件中進行判斷
#ifdef __OBJC__ #endif
XCode6以后項目默認不生成pch文件是因為項目越大,由于pch文件的原因,可能會導致編譯時間過長的問題