我的控制器中有大約15個UIButton。我試圖用一個簡單的for循環清除其中的10個,看起來像我正在發生某種衝突。在Swift中使用標籤
當我按下按鈕來清除,我得到以下錯誤:
Could not cast value of type '_UISizeTrackingView' (0x18a023c) to 'UIButton' (0x1899298). (lldb)
For循環:
for var i = 0; i < 9; i++ {
button = view.viewWithTag(i) as! UIButton
button.setImage(nil, forState: .Normal)
}
我已經把範圍縮小到一個問題與使用項目標記0.我查看了我的View Controller場景中的所有項目,似乎無法找到任何衝突。我只看到一個按鈕,使用標記= 0
我甚至通過更換confrimed它的「我」與「0」循環,得到了相同的問題。當我使用'1'或'2'代替它時,可以很好地處理單張圖片。
任何辦法,看看有什麼對象正在使用的標籤0?我點擊了他們(包括主視圖),但似乎找不到任何東西。
偉大的解決方案! – ranunez
作爲一個額外的好處,現在我們可以'通過這些'進入。我不知道Swift,但是在Objective-C中'for in'肯定會比問題中最初的C-style'for'快。 – nhgrif
@Sulthan爲什麼人們使用網點多於標籤?我的意思是它減少了代碼長度!我聽起來不錯,還是通過使用標籤來增加複雜性? –