2017-04-19 50 views
-2

screen-shoot爲什麼它不運行斷點?

如上圖所示,我很困惑,爲什麼它不運行斷點(line77)? 它會從71跳到第84行。

+0

你應該把74,81線上的斷點也等待一段時間它肯定會去77線或74線或81 – NehaK

+0

@ NehaK好的,謝謝。 – Ringo

回答

1
  1. 您正在初始化上線數的可變數組從行號73寫入82 71

  2. 代碼是異步網絡呼叫的塊。異步意味着當您從服務器獲取數據時,該塊之下的代碼將執行。當成功完成從服務器獲取數據時,它將進入成功模塊,如果發生故障,它將進入失敗模塊。

這就是爲什麼你的數組將在從服務器填充之前返回的原因。爲了更好的實現,編寫單獨的方法或api類來從服務器獲取數據並在該類中填充數組。

+0

好的,謝謝。我想修改塊區域中的tmpArr,是否需要在tmpArr前添加一個__block? – Ringo

+0

是的,你可以這樣做,但你的return語句仍然會在你的數組被填充之前執行。用單獨的方法編寫api調用,然後在viewDidLoad或viewWillAppear中調用該方法。 –

0

第77行是塊對象的一部分,當異步GET方法成功完成時將被調用。

如果你讓你的程序運行並且調用成功,你將會到達斷點。

+0

如何解決?我自己學習ios,不知道如何使用異步。 – Ringo

+0

你也應該把74,81上的斷點也等待一段時間它肯定會去77行或74行或81行 – NehaK

相關問題