作者wfgh (lyle)
看板MacDev
標題[問題] UILabel.text無法更新
時間Mon Jan 17 18:54:45 2011
(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
1F:→ wfgh:google好久都找不到解答 01/17 18:55
2F:→ zonble:幾個可能: 1. 你 IBOutlet 忘記連 01/17 20:50
我IBOutlet有連結
因為我在viewDidLoad裡打label.text = @"abc"
程式執行時他UILabel是顯示abc沒錯
但我在viewDidLoab以外的instance method裡打label.text = @"abc"
就沒有反應
3F:→ zonble:2. 你還沒有載入 view 就做這件事情 01/17 20:51
我是在view載入之後才做的
上面只是個範例
並非我程式原碼
我的程式是按下播放後
他會去dictionary把歌詞抓出來
按照目前播放時間替換到UILabel上
所以當然是view載入才可以按下播放鍵
4F:→ zonble:然後連做十次的目的是? 01/17 20:51
連做十次只是個範例方便讓大家理解我的問題
事實上我做的次數比十次還多
因為歌詞不只十行
※ 編輯: wfgh 來自: 111.240.229.193 (01/17 22:29)
※ 編輯: wfgh 來自: 111.240.229.193 (01/17 22:30)
5F:→ uranusjr:這樣做 view 不會有更新機會吧, 要用 timer 之類的機制 01/17 22:41
6F:→ wfgh:請問要怎麼更新VIEW呢? 01/17 22:51
7F:→ starkite:想請問如果在tabview中 點選每一個cell連接到一個解析 01/18 00:23
8F:→ starkite:後的影片位置 目前只能單獨連結到一個影片 變成每一個 01/18 00:24
9F:→ starkite:cell點的影片都是相同的 01/18 00:25
10F:→ zonble:改了文字之後,畫面要 redraw,會在下一輪 runloop 才會 01/18 19:53
11F:→ zonble:redraw,但是你的迴圈沒有進入 runloop 01/18 19:53
12F:→ zonble:所以這個迴圈的結果,只會是把 label 的文字改成迴圈最後 01/18 19:53
13F:→ zonble:一次設定的效果 01/18 19:54