Re: [問題] https NSURLConnection 的問題

看板MacDev作者 (龍野南雲)時間12年前 (2012/07/12 18:53), 編輯推噓2(2021)
留言23則, 5人參與, 最新討論串2/2 (看更多)
其實整個重點就是,你Code放錯地方了... 標準的做法是: methodA: 建立request,設定request的delegate 發出request,然後?然後就結束了...就不管了...就 } 了... 另外找個地方放request結束之後會呼叫的delegate method,有好幾個 什麼 didReceiveData、requestDidFinished 之類的,請自己查一下文件 :p 然後在這個delegate的didReceiveData裡面,把傳回來的東西自己存好 在requestDidFinished裡面做你要做的處理 你可以把發出request method和接收的method寫在同一個object裡面,只要把 delegate設為self就可以,但是千萬,千萬,千萬不要寫在"同一個"method裡 面... -- Luna quieres ser madre y no encuentras querer que te haga mujer -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.248.84.187

07/12 22:40, , 1F
推這篇
07/12 22:40, 1F

07/13 10:33, , 2F
我有設delegate呀 你說的函數 只有requestDidFinished
07/13 10:33, 2F

07/13 10:34, , 3F
我沒用到 我也查不到.... 是有用connectionDidFinishLoa
07/13 10:34, 3F

07/13 10:35, , 4F
ding去放資料 然後我是有做另外一個函數去GET值
07/13 10:35, 4F

07/13 14:37, , 5F
請記得"發送request"和"接收request"是兩回事,不要試圖
07/13 14:37, 5F

07/13 14:37, , 6F
在"發送request"的method裡面去處理request回來的data,
07/13 14:37, 6F

07/13 14:38, , 7F
他根本就還不存在。所以,"發送request"的method做的事
07/13 14:38, 7F

07/13 14:38, , 8F
非常,非常的簡單,就是建立request,發送,that's all
07/13 14:38, 8F

07/13 14:39, , 9F
不再做任何事情,也不應該再做任何事情。剩下所有的事情
07/13 14:39, 9F

07/13 14:39, , 10F
都是接收到"request結束"的這個method去做,或者完整一
07/13 14:39, 10F

07/13 14:40, , 11F
些,有另外移個request失敗的method可以處理相關的事
07/13 14:40, 11F

07/13 14:50, , 12F
你說的結束是指delegate的結束那個method嗎?
07/13 14:50, 12F

07/13 14:59, , 13F
如果你不知道delegate是甚麼,那麼簡單說,你應該要準備
07/13 14:59, 13F

07/13 15:00, , 14F
兩個物件,class A是"發出request"的那個,你會在他的某
07/13 15:00, 14F

07/13 15:00, , 15F
.....算了,我用回的
07/13 15:00, 15F

07/13 15:02, , 16F
不過等我下班再回....XD
07/13 15:02, 16F

07/14 11:20, , 17F
其實你那隻處理connection delegate不一定要設成self
07/14 11:20, 17F

07/14 11:22, , 18F
你可以把目前主程式的self設給connection 那知做為delegate
07/14 11:22, 18F

07/14 11:24, , 19F
這樣delegate 就不必要implement在connection那隻程式,可在
07/14 11:24, 19F

07/14 11:25, , 20F
原主程式
07/14 11:25, 20F

07/15 01:45, , 21F
補充一下原po想要的發出request下一行就可以處理response
07/15 01:45, 21F

07/15 01:46, , 22F
的方式是同步request 是會鎖死main thread的 一般在處理
07/15 01:46, 22F

07/15 01:47, , 23F
網路這一塊不太建議這樣做 因為看起來跟當機沒什麼兩樣..
07/15 01:47, 23F
文章代碼(AID): #1F_goeES (MacDev)
文章代碼(AID): #1F_goeES (MacDev)