前兩天碰到了一個(gè)問題,今天解決了,雖然不是自己解決的,但是問題已經(jīng)解決了。我相信我以后不會(huì)被這個(gè)問題難倒了,也不會(huì)出現(xiàn)這樣的問題了。
我的問題是:我在做APP的時(shí)候,提交的是修改地址信息,但是返回的數(shù)據(jù)失敗,出錯(cuò)了。因?yàn)槭莿e人做過的,所以我先對了一下鏈接,一樣的啊,復(fù)制粘貼試了一次,但是還是出錯(cuò)了。那么就要查請求的參數(shù)了,我就看他返回的參數(shù)有哪些,我復(fù)制他提交請求的數(shù)據(jù),用字典把這些做參數(shù)傳上去,但是還是出錯(cuò)了。
最后在表姐夫的幫助下,開始找問題,先是看鏈接,沒問題。然后看返回的參數(shù),一樣,也沒有問題。最后,看了一下上傳的參數(shù),一看是NSString類型,我說不對啊,我一開始的時(shí)候就是NSString的,怎么還是出錯(cuò)了(這里說明一下,因?yàn)橛蟹祷氐慕涌谖臋n,所以,我知道是什么類型的)。我想著肯定是一樣的,因?yàn)槲乙婚_始就給他是NSString的。
但是,我取回來的時(shí)候就已經(jīng)錯(cuò)了,下面是請求的數(shù)據(jù)。
{
data =? ? {
deliveryId = 72;
};
header =? ? {
clientRes = iOS;
msgType = setDefaultAddress;
timestamp = "2016-03-23 15:42:56";
token = 1b382ebdbc1e489dbc39003649b2251934060303966586280010944992359077;
};
}
NSString *deliveryid= data[@"deliveryid"];
我用這樣獲取到數(shù)據(jù),他不是要NSString類型嗎,我給它。但是表姐夫跟我說不是接收的是什么類型,它就是什么類型的。因?yàn)閐eliveryid的類型是NSNumber類型,賦值給了NSString類型,所以沒起到效果。挺簡單的一個(gè)問題,就是沒去思考,這樣不好。
總結(jié):取出來的是什么類型就是什么類型,不管你賦值給什么類型的對象,本身的類型不會(huì)改變。就像例子中的,取出來本身是NSNumber類型的,賦值給NSString類型了。雖然提交的時(shí)候也是相同的數(shù),但是,它的格式已經(jīng)出錯(cuò)了,所以提交的時(shí)候總是失敗的。以后轉(zhuǎn)換類型的時(shí)候一定要看清楚,是什么類型就給什么類型,這樣就不會(huì)出錯(cuò)了。
以后碰到問題,
一、要想是什么原因,把自己認(rèn)為最有可能的問題試一下,把自己認(rèn)為是的都驗(yàn)證一下,還是沒有解決,那就動(dòng)用工具。
二、百度,百度上各種各樣的問題都有,當(dāng)然回答也是各種各樣的,有的是我要的答案,有的不是,就回答了。在百度中,找到答案有不理解的,把不理解的重新百度,到理解為止。還是不理解的,可以筆記下來,問表姐夫。
三、最后,把解決問題的答案寫在筆記中,還原之前的想法。原模原樣的把問題紀(jì)錄下來,這樣更加方便的理解和復(fù)習(xí)。在記錄的過程中還可以重現(xiàn)復(fù)習(xí)一遍,相當(dāng)于鞏固了,這是一個(gè)不錯(cuò)的學(xué)習(xí)方式。今天開始按照這樣的形式來完成,通過筆記的方式記錄每天的問題,ok,GoodBay!