[問題] UILabel.text無法更新

看板MacDev作者 (lyle)時間14年前 (2011/01/17 18:54), 編輯推噓0(0013)
留言13則, 4人參與, 最新討論串1/1
(IBOutlet) UILabel *label for(int i=1; i<10; i++) { label.text = [dictionary objectForKey:key]; } dictionary的value是NSString* 請問我像上面那樣寫的話 我的UILabel的文字顯示都沒有變 為什麼呢? 有辦法更新他嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.227.194

01/17 18:55, , 1F
google好久都找不到解答
01/17 18:55, 1F

01/17 20:50, , 2F
幾個可能: 1. 你 IBOutlet 忘記連
01/17 20:50, 2F
我IBOutlet有連結 因為我在viewDidLoad裡打label.text = @"abc" 程式執行時他UILabel是顯示abc沒錯 但我在viewDidLoab以外的instance method裡打label.text = @"abc" 就沒有反應

01/17 20:51, , 3F
2. 你還沒有載入 view 就做這件事情
01/17 20:51, 3F
我是在view載入之後才做的 上面只是個範例 並非我程式原碼 我的程式是按下播放後 他會去dictionary把歌詞抓出來 按照目前播放時間替換到UILabel上 所以當然是view載入才可以按下播放鍵

01/17 20:51, , 4F
然後連做十次的目的是?
01/17 20:51, 4F
連做十次只是個範例方便讓大家理解我的問題 事實上我做的次數比十次還多 因為歌詞不只十行 ※ 編輯: wfgh 來自: 111.240.229.193 (01/17 22:29) ※ 編輯: wfgh 來自: 111.240.229.193 (01/17 22:30)

01/17 22:41, , 5F
這樣做 view 不會有更新機會吧, 要用 timer 之類的機制
01/17 22:41, 5F

01/17 22:51, , 6F
請問要怎麼更新VIEW呢?
01/17 22:51, 6F

01/18 00:23, , 7F
想請問如果在tabview中 點選每一個cell連接到一個解析
01/18 00:23, 7F

01/18 00:24, , 8F
後的影片位置 目前只能單獨連結到一個影片 變成每一個
01/18 00:24, 8F

01/18 00:25, , 9F
cell點的影片都是相同的
01/18 00:25, 9F

01/18 19:53, , 10F
改了文字之後,畫面要 redraw,會在下一輪 runloop 才會
01/18 19:53, 10F

01/18 19:53, , 11F
redraw,但是你的迴圈沒有進入 runloop
01/18 19:53, 11F

01/18 19:53, , 12F
所以這個迴圈的結果,只會是把 label 的文字改成迴圈最後
01/18 19:53, 12F

01/18 19:54, , 13F
一次設定的效果
01/18 19:54, 13F
文章代碼(AID): #1DD1_uHI (MacDev)
文章代碼(AID): #1DD1_uHI (MacDev)