扒蟲篇- Bug日志 Ⅸ

1跺涤、UITabBarItem里設(shè)置的文字不顯示

PersonViewController *vc3=[[PersonViewController alloc] init];
 vc3.tabBarItem.title=@"我的";
 vc3.tabBarItem.image=[[UIImage imageNamed:@"tabBar2n"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 vc3.tabBarItem.selectedImage=[[UIImage imageNamed:@"tabBar2l"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
 UINavigationController *nav3=[[UINavigationController alloc] initWithRootViewController:vc3];

這樣設(shè)置不顯示盒件。

 IndexViewController *vc1=[[IndexViewController alloc] init];
 UINavigationController *nav1=[[UINavigationController alloc] initWithRootViewController:vc1];
 UITabBarItem *tabBar = [[UITabBarItem alloc]initWithTitle:@"首頁" image:[UIImage imageNamed:@"tabBar0n"] selectedImage:[UIImage imageNamed:@"tabBar0l"]];
 nav1.tabBarItem = tabBar;

這樣設(shè)置就可以顯示了桌肴。

2、解決Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.-

  ViewTest[2638:c07] *** Terminating app due to uncaught exception 'NSGenericException', reason: '
  Collection <__NSArrayM: 0xb550c30> was mutated while being enumerated.'

當(dāng)程序出現(xiàn)這個(gè)提示的時(shí)候色鸳,是因?yàn)槟阋贿叡憷麛?shù)組社痛,又同時(shí)修改這個(gè)數(shù)組里面的內(nèi)容,導(dǎo)致崩潰命雀,最后發(fā)現(xiàn)確實(shí)是這樣的原因蒜哀,不過問題是,很多時(shí)候這樣的寫法并不會(huì)造成崩潰吏砂,可見這樣的Bug是偶現(xiàn)的撵儿。

for (NSURLSessionTask *sub in self.requestArray) {
     [sub cancel];
    [self.requestArray removeObject:sub];
}

把for- in 循環(huán)修改為 for 循環(huán)即可。

3.正常的網(wǎng)路請(qǐng)求突然出錯(cuò)

- (void)cancelAllRunningRequest
  {
   for (int i = 0; i<self.requestArray.count; i++) {
      NSURLSessionTask *sub = self.requestArray[i];
      [sub cancel];
      [self.requestArray removeObject:sub];
  }
}

那是因?yàn)槲以诟割愔械?viewWillDisappear 中調(diào)用了上述方法狐血,
忽略了 VC的生命周期造成的問題淀歇,
因?yàn)樵?V2的 ViewDidLoad中發(fā)起的網(wǎng)路請(qǐng)求會(huì)在 V1 的viewWillDisappear中被取消,所以就會(huì)出現(xiàn)上面的Bug匈织。

正確的方法是在 父類中的viewDidDisappear 調(diào)用上述的方法即可房匆。

4.Auto property synthesis will not synthesize property 'title'; it will be implemented by its superclass, use @dynamic to acknowledge intention 警告!

這個(gè)問題是因?yàn)楸叮割惡妥宇愑幸粋€(gè)相同名稱的屬性。
編譯器自動(dòng)給屬性delegate合成getter和setter的時(shí)候?qū)?huì)在它的父類上實(shí)現(xiàn),也就是說其父類也有一個(gè)delegate屬性,現(xiàn)在它不知道到底是哪一個(gè)delegate.

所以遇到這個(gè)問題怎么解決井氢?在子類中顯式的聲明一個(gè)@synthesize name = _name;就好弦追,這樣子類就會(huì)如愿的產(chǎn)生他的殼,編譯器也不糾結(jié)了花竞。

5.一個(gè)匪夷所思的Bug

兩個(gè)工程中同樣的代碼劲件,一個(gè)可以執(zhí)行Post請(qǐng)求掸哑,一個(gè)不可以,我一直以為是 網(wǎng)路請(qǐng)求設(shè)置出了問題零远,因?yàn)橐恢眻?bào)的是網(wǎng)路請(qǐng)求錯(cuò)誤苗分,貌似跟服務(wù)器無關(guān)。

 URL :/baseinfos/dealResultForAppWarnCheckedBillDetail.gx?   
 data={"sysuserid":"10000950","fopinion":"Okkkk","fresult":"2","fwarnType":"IvFoodSalemas","fid":"43767","fwarnId":"303381"}
 (lldb) po dic
 {
 msg = "\U5904\U7406\U6210\U529f";
 status = 1;
 }
 
 URL :/baseinfos/dealResultForAppWarnCheckedBillDetail.gx?   
參數(shù):{"sysuserid":"20180111134320122911","fopinion":"ok","fresult":"2","fwarnType":"IvFoodSalemas","fid":"43767","fwarnId":"303381"}

糾結(jié)了很久牵辣,最后實(shí)在沒辦法了摔癣,就打印了兩個(gè)請(qǐng)求中的參數(shù),發(fā)現(xiàn)只有 sysuserid 這個(gè)參數(shù)不一樣纬向,貌似還是長(zhǎng)度不一樣造成的择浊,難道因?yàn)閰?shù)的原因可以造成這樣的網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤?逾条?最后試了一下琢岩,還真是參數(shù)的問題,把參數(shù)換成短的那個(gè)师脂,就請(qǐng)求成功了担孔,漲姿勢(shì)了。

6.多層級(jí)文件夾拖進(jìn)Xcode 工程中出錯(cuò)


這里說下兩種錯(cuò)誤的操作:
(1)直接把多層級(jí)的文件拖到工程中
(2)add file 到工程中時(shí)選擇的文件夾不在工程中(比如在桌面)


【1】這里上面兩個(gè)操作的最終效果都是只是引用了文件夾中的文件吃警,當(dāng)文件所在處的文件被刪除時(shí)糕篇,新工程中的對(duì)應(yīng)文件就會(huì)變成紅色,
【2】或者在新工程中修改文件汤徽,修改的相當(dāng)于原工程中的文件娩缰,原工程中的文件自然會(huì)被修改了。

正確的操作是:先把需要添加的文件夾拷貝并移動(dòng)到新工程文件夾中谒府,然后右鍵 add file 到工程即可實(shí)現(xiàn)多層級(jí)文件夾的添加拼坎,而且不會(huì)出錯(cuò)。

7.Thread 1: EXC_BAD_ACCESS (code=EXC_I386_GPFLT)

 Class class = NSClassFromString(viewClassArray[i]);
 baseItem[i] = [[class alloc]init];
 [baseItem[i] setItemTitle:titleA[i]];
 [self addSubview:baseItem[i]];

EXC_BAD_ACCESS 這個(gè)錯(cuò)誤完疫,可以這么說泰鸡,90%的錯(cuò)誤來源在于對(duì)一個(gè)已經(jīng)釋放的對(duì)象進(jìn)行release操作(code=1,是已經(jīng)釋放的對(duì)象又進(jìn)行釋放;code=2壳鹤,是對(duì)已經(jīng)釋放完的盛龄,即計(jì)數(shù)為零的對(duì)象又進(jìn)行使用——個(gè)人理解)。


開啟僵尸模式芳誓,這個(gè)模式比較耗性能余舶,一般Degub的時(shí)候可以使用,打包發(fā)布的時(shí)候注意取消這個(gè)模式锹淌。


最后發(fā)現(xiàn) baseItem[i] 在事先聲明中不多匿值,比 viewClassArray 的個(gè)數(shù)少了很多,最后造成了這個(gè)內(nèi)存錯(cuò)誤赂摆。

8. &&的條件語句判斷中出錯(cuò)

if (baseItem[i].isMust&&(NilStr([baseItem[i] itemText]) ||[baseItem[i].itemText isEqualToString:@"-請(qǐng)選擇-"])) {
                return YES;
            }

這個(gè)條件判斷中有時(shí)候會(huì)出現(xiàn)前面成立后面不成立挟憔,但是整個(gè)判斷是成立的錯(cuò)誤狀態(tài)钟些,這個(gè)出錯(cuò)是偶然的,不知道什么原因绊谭,反正 && 兩邊都用 ()包裹住政恍,這樣更不容易出錯(cuò)。

9.一個(gè)UITbaleViewCell中下拉框的初始化失敗的Bug

修復(fù)過后的理想效果

場(chǎng)景:下拉框是在cell中初始化的达传,下拉框的初始化方法在 VC中篙耗,而且下拉框的初始化事件是利用 UIResponder 傳遞的。

問題:第一個(gè)cell初始化的時(shí)候趟大,里面的下拉框的初始化失敗鹤树,因?yàn)閂C中的對(duì)應(yīng)的初始化事件并沒有被調(diào)用,后續(xù)添加cell時(shí)逊朽,cell中的下拉框還是初始化失敗罕伯,但是滾動(dòng)UITbaleView 、或者 reLoad UITbaleView時(shí)卻可以正常的觸發(fā)叽讳,猜想是UITbaleView 初始化時(shí)追他,或者insertRowsAtIndexPaths 添加的cell在 cellForRowAtIndexPath 后才加載在UITbaleView上,所以在cellForRowAtIndexPath 的 setModel初始化時(shí)UIResponder是找不到其父視圖的岛蚤。

解決辦法:把VC中的下拉框初始化方法移到 Cell中邑狸,這樣就不會(huì)出現(xiàn)上述的問題了。而且移到cell中后詳情和新增頁面中都不用管理下拉框初始化方法了涤妒,更合理单雾。

10.一個(gè) OS_dispatch_data 有關(guān)的網(wǎng)路請(qǐng)求


【1】首先這個(gè)網(wǎng)絡(luò)請(qǐng)求(http://XXXXXXXX:80XX/WebServiceServlet?method=getAllResourceDetailByOrg&orgCode=7654)只支持GET請(qǐng)求,POST請(qǐng)求沒有數(shù)據(jù)返回也是奇葩她紫。
【2】OS_dispatch_data 不能用 JSON直接解析硅堆,是無法直接使用的。
【3】需要把 OS_dispatch_data 轉(zhuǎn)為 字符串贿讹,字符串去掉首尾非JSON的字符后渐逃,剩余的部分就可以使用 JSONKit 進(jìn)行解析了。

 //OS_dispatch_data
     NSString *str = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
     if (str.length<6)return ;
     NSString *str1 = [str substringWithRange:NSMakeRange(5, str.length-6)];
     NSArray *ss = [str1  objectFromJSONString];
     ss 即為可以使用的數(shù)組數(shù)據(jù)了民褂。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末茄菊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子赊堪,更是在濱河造成了極大的恐慌面殖,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哭廉,死亡現(xiàn)場(chǎng)離奇詭異脊僚,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)群叶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門吃挑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人街立,你說我怎么就攤上這事舶衬。” “怎么了赎离?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵逛犹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我梁剔,道長(zhǎng)虽画,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任荣病,我火速辦了婚禮码撰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘个盆。我一直安慰自己脖岛,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布颊亮。 她就那樣靜靜地躺著柴梆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪终惑。 梳的紋絲不亂的頭發(fā)上绍在,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音雹有,去河邊找鬼偿渡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛件舵,可吹牛的內(nèi)容都是我干的卸察。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼铅祸,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼坑质!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起临梗,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤涡扼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后盟庞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吃沪,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年什猖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了票彪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片红淡。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖降铸,靈堂內(nèi)的尸體忽然破棺而出在旱,到底是詐尸還是另有隱情,我是刑警寧澤推掸,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布桶蝎,位于F島的核電站,受9級(jí)特大地震影響谅畅,放射性物質(zhì)發(fā)生泄漏登渣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一毡泻、第九天 我趴在偏房一處隱蔽的房頂上張望胜茧。 院中可真熱鬧,春花似錦牙捉、人聲如沸竹揍。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芬位。三九已至,卻和暖如春带到,著一層夾襖步出監(jiān)牢的瞬間昧碉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工揽惹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留被饿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓搪搏,卻偏偏與公主長(zhǎng)得像狭握,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疯溺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 1论颅、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫組件 SD...
    陽明先生_x閱讀 15,968評(píng)論 3 119
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,089評(píng)論 1 32
  • 舊鐵皮綠車咔嚓著聲響 烏云里陽光偷偷醞釀著風(fēng)霜 口袋糖果甜里透著慌 哼著歌兒的姑娘笑里全是坦蕩 夏日的余溫打翻童話...
    咸魚夢(mèng)閱讀 625評(píng)論 14 8
  • 后來我也畢業(yè)了,才畢業(yè)那幾年一直專心于工作囱嫩,無心顧及感情恃疯,直到在一次跟閨蜜的偶然談話中,她無意提起了他墨闲,還跟我笑侃...
    奚緣閱讀 463評(píng)論 1 5
  • 標(biāo)準(zhǔn)輸入輸出流 字符輸入: char c = (char)System.in.read(); 字...
    acc8226閱讀 265評(píng)論 0 0