ps:自己平時學(xué)習(xí)的時候遇到的一些小bug,初學(xué),共勉蜡励。
一、問題:注銷與登錄按鈕不能實現(xiàn)切換
原因:1漱挚、設(shè)置bool值時yes和no沒有正確
二、問題:豆瓣:電影界面點擊進(jìn)入詳情界面正常渺氧,再返回之后再點擊crash旨涝,或者是返回就crash
原因:內(nèi)存問題,實例變量被過度釋放
三侣背、問題:使用FMDB數(shù)據(jù)庫存儲總是提示表已經(jīng)建立
原因:查詢到每次打開數(shù)據(jù)庫創(chuàng)建的表都在不同位置
解決辦法:再打開數(shù)據(jù)庫的方法中添加一次判斷
四白华、問題:使用側(cè)滑刪除時,界面顯示已經(jīng)刪除贩耐,但是再打開時還是有弧腥。
原因:數(shù)據(jù)庫中沒有真正刪除
五、問題:報錯如下:
解決辦法:在刪除時潮太,先刪除數(shù)據(jù)管搪,再刪除UI界面,把數(shù)組里面的該行元素要先刪除
六、問題:使用NSUserDefaults時铡买,存儲解析后的數(shù)組更鲁,已經(jīng)將其改為不可變數(shù)組,但是還是直接報錯
原因:存儲的是自定義的對象奇钞,需要將其轉(zhuǎn)換成NSData
七澡为、問題:在執(zhí)行子線程時,打印出現(xiàn)的警告
原因:可以通過方法測試當(dāng)前線程是否為子線程
NSLog(@"%d", [NSThreadisMainThread]);
或者通過NSLog(@“%@", [NSThreadcurrentThread]);方法測試,可知道當(dāng)前的線程并非主線程景埃,而你正試圖在子線程中打印主線程的
解決方法:回到主線程
八媒至、問題:1、在滑動tableView的同時發(fā)現(xiàn)timer對應(yīng)的事件不執(zhí)行
2谷徙、在子線程中開啟了一個子線程進(jìn)行下載等任務(wù)拒啰,發(fā)現(xiàn)下載任務(wù)不執(zhí)行
解決方法:runloop
九、問題:數(shù)組添加不進(jìn)去
原因:數(shù)組沒有初始化
十完慧、問題:cell沒有顯示
原因:初始化方法是否正確
十一图呢、問題:進(jìn)行網(wǎng)絡(luò)請求得到數(shù)組后想將其傳值,結(jié)果失敗
解決方法:傳值時直接得到數(shù)據(jù)后賦值骗随,不要在viewdidload方法里面賦值
十一蛤织、問題:全局變量重名,文件名命名重名鸿染,會報錯:linker command failed with exit code 1 (use -v to see invocation)
十二指蚜、問題:使用UISegmentControl的時候,添加方法addTarget:action時涨椒,target容易將本來self結(jié)果添加為自己定義的UISegmentControl對象摊鸡,此時程序在進(jìn)入界面無影響,點擊就會crash
十三蚕冬、問題:創(chuàng)建model類的時候注意是否有不是字符串的類型
十四免猾、sizeTofit需要使用的時候倆個方法都要寫,一個layoutsubviews,一個是在傳值進(jìn)來的model類的setter方法
十四囤热、collectionView不能滑動:
self.collectionView.alwaysBounceVertical=YES;self.collectionView.userInteractionEnabled=YES; //默認(rèn)是yes
最后猎提、imageView和label的交互是關(guān)閉的,如果你需要將collection view放傻瓜你去旁蔼,記得打開用戶交互
十五锨苏、使用UIPickerView時,如果是添加到了textField的inputview上棺聊,那么不需要再添加[self.view addsubviews:pickerView];這個方法了伞租,否則會報錯:
reason: 'child view controller: should have parent view controller: but requested parent is:'
十六、問題:使用純代碼時限佩,不走cellforRow方法
原因:1葵诈、給定的數(shù)組或者其他數(shù)據(jù)源沒值
? ? ? ? 2、初始化錯誤
? ? ? ? ......
十七祟同、問題:使用storyboard或者xib創(chuàng)建tableView并是通過storyboard來設(shè)置代理和數(shù)據(jù)源時作喘,datasource和其他代理方法都有,唯獨did select方法不走
解決方法:選擇tableview,將selection默認(rèn)的no改成singleselection
十八耐亏、問題:在上傳自己的項目時徊都,總是不能識別賬戶,x-code已經(jīng)綁定了的广辰,后來換了一種方法結(jié)果還是報同樣的錯誤暇矫,目前尚未解決
十九、在實現(xiàn)視頻播放的時候择吊,需要注意視頻控制器的作用域以及視頻控制器的view的frame李根,視頻控制器一般是最好用作屬性,避免出現(xiàn)作用域的問題几睛,frame一般是屏幕的大小房轿,當(dāng)然也可以自己設(shè)定
二十,在使用github在sourceTree的時候,上傳的時候最好是備份副本,避免source tree在報黃后打不開原來的工程,如果實現(xiàn)是打不開的話,找到你的工程,右鍵點擊xode文件,選擇顯示包內(nèi)容,選擇project.pbxproj文件,雙擊,看到一堆代碼.此時command + F全局查找<<<<或者>>>>,找到之后將其刪除就ok
二十一、問題:如果是使用tableView的時候,想要點擊cell實習(xí)出現(xiàn)view囱持,結(jié)果在多次點擊的時候view出現(xiàn)多重陰影
解決方法:在點擊的時候進(jìn)行一次判斷夯接,在view == nil的時候創(chuàng)建就行了