wby : cocacola-ty.github.io
出現Duplicate Symbol鏈接錯
- 可能該文件被引入兩次,Targets的Build Phase設置項里,查看Complie Sources這一項,看看出現問題的類是不是有重復的,用文件名過濾也比較容易發現。這種問題一般也是多人協作開發時,project文件沖突導致的。發現這種問題,只要刪除就可以了。不過有可能刪除其中一個文件時,重復文件會自動全部刪除,所以還需要單獨添加一下。
- 出現問題的類是不是import .m文件
- 是不是第三方庫中有文件和該類同名
webview進入didFailLoadWithError
error.code == -999
一個頁面沒有被完全加載之前收到下一個請求
可以直接return該錯誤嘗試解決
translatesAutoresizingMaskIntoConstraints
缺少約束,約束沖突
少設置frame
出現訪問僵尸對象問題
- 查看dealloc方法是否進行提前釋放
- 查看dealloc方法調用時間
images.xcassests
- 只支持png格式圖片
- images.xcassets中圖片只能有 imagenamed:方法調取
通過在view上添加一個layer來實現動畫,出現動畫不還原
- 確保添加的是一個layer,不要重復一直添加layer,會覆蓋。通過懶加載解決
多線程會導致的問題
- 開啟子線程引起的內存開銷,默認主線程1M,子線程512k
- 多線程之間由于網絡請求時間差引發的問題
加載xib時報錯
libc++abi.dylib:terminate_handler unexpectedly threw an exception
NSScanner: nil string argument
檢查約束是否有沖突約束
檢查是否有失效的連線!! .m/.h 中已經刪掉連線出來的控件,但是xib中未刪除關聯!!
下載圖片時線程阻塞
dataWithContentsOfURL方法是同步方法,當圖片較大或網絡較差時 該方法阻塞后面其他代碼會無法執行
調試時po不打印對象信息
將項目的scheme 改為Debug,release模式下不現實參數值
刪除MainStoryBoard之后的報錯
MainStoryBoard刪除之后要同時需要在info.plist中刪除Main StoryBoard Base File Name 這一行
并且在didFinishLaunching中新建一個window,否則系統是沒有window的。
控制器的present和push
如果當前控制器是present出來的,從當前控制器繼續向下跳轉時不要用push,因為它會從當前控制器的上一個控制器去push。
一個控制器中多個collectionView時,有的collectionView不顯示Cell
collectionview里面是scrollview,他有偏移,偏移出了collectionView導致他的cell方法不調用。只要設置控制器不自動偏移即可。
self.automacticallyAdjustsScrollViewInsets = NO
tableView運行崩潰,提示:_configureCellForDisplay:forIndexPath
檢查是否設置重用標識符
檢查獲取的cell是否為nil
.h文件中報錯 unterminated conditional directive
- 此報錯原因是因為條件編譯缺少結束
- 檢查是否缺少#ifdef 是否缺少 #endif
控制臺輸出:Class PLBuildVersion is implemented in both frameworks
當工程中使用到了PhotoKit,當運行時,可能會在控制臺出現該提示。因為PLBuildVersion在PhotoKit和Assert
關于storyboard中tableview點擊cell不走segue的問題
如果直接拉出來一個tableviewcontroller上面的cell是默認提供的,該cell的重用標識符為空,當從cell連線到下一個控制器時是該標識符為空的cell跳轉到下一個控制器。并不是我們創建的cell。所以當運行時點擊我們創建的cell不會跳轉。
解決方法,設置默認的cell的標識符
將nil格式為字符串
如果將nil對象格式化成字符串會轉換成 (null)
NSString *str = [NSString stringWithFormat:@"%@",nil];