我在Storyboard中有幾個UIViews,當然,我可以使用segue在它們之間切換。最初這工作得很好: notenKurse是一個NSMutableArray,而kurse1Outlets是一個帶有我的UITextField的插座集合。插座在再次顯示「舊」視圖後不工作
int counter = 0;
for (UITextField *tf in kurse1Outlets) {
NSMutableString *t = [NSMutableString stringWithFormat:@"%@", [notenKurse objectAtIndex:counter]];
NSLog(@"Object at index %i is %@", counter, [notenKurse objectAtIndex:counter]);
if ([t isEqualToString:@"42"]) {
[t setString:@""];
}
[tf setText:t];
NSLog(@"UITextField in slot %i should now display %@", counter, t);
counter++;
}
我所有的UITextFields都顯示存儲在數組中的值。但是,如果我轉到另一個視圖(讓我們假設我有一個按鈕;))更改一些東西,然後回到原始UIView上面的代碼仍然執行,並且數組中有不同的值(這應該是是)。我可以在日誌中看到。但愚蠢的UITextField只是不顯示任何東西。既沒有在那裏,也沒有新的文本。但爲什麼?日誌清楚地表明t是它應該是什麼,所以錯誤必須寫入文本字段,因此我認爲這是一個插座問題...
如果有幫助:代碼設置正確的文本,只是一個完全不同的UITextField,一個,這是不是在我的視圖。 (我設置了文本並使用tf.text進行了檢查,確實有正確的文本... – hutattedonmyarm
ok我認爲我發現了問題:當我離開視圖並稍後重新輸入時,outletcollection會再次加載問題:UITextFields正在重新生成,它們現在位於不同的內存地址,所以我設置了舊的UITextFields的文本,這些文本不再顯示了,如何解決它的任何想法? – hutattedonmyarm