我試圖設置和檢索titleViewController上的UITextField
對象中的文本。從另一個對象設置文本字段ios
我有一個Journal對象有一個對titleViewController對象的引用,但我似乎無法設置UITextField
的文本值。
我在titleViewController中有一個UITextField對象的插口,而Journal可以看到它,但是當我寫代碼來設置該值時,它在運行時不會發生任何事情。
在XCode或Log中沒有彈出的錯誤。我知道它應該能夠工作,因爲這個設置可以用於訪問由同一個日誌管理的其他此類viewController中的自定義方法。
CNC中
這裏是作爲所請求的代碼示例:
//Get viewController from Array
TitleVC *titlePage = [_PageArray objectAtIndex:0];
//Get string from Dictionary
NSString *test = [_saveDictionary objectForKey:@"Name"];
//This is one of the attempts to set the UITextField
//FIXED by Tomy211(but still does not work)
[titlePage.textName setText:test];
//This is attempting dot notation
titlePage.textName.text = test
titlePage.textName = test //Wrong I know but had to test
//Also made sure test was a proper string
NSLog(test) //Displayed "Dan" as Expected
這是Journal.m使用此代碼被訪問從故事板到titleVC的引用:
-(UIViewController *)loadView:(NSString *)viewID{
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:viewID];
return viewController;
}
從該方法返回的ViewController用於在滾動視圖中顯示視圖,並且我沒有以這種方式從ViewControllers訪問方法的問題。
我想要做的就是讓Journal.m設置並讀取來自textName的值,它是連接到UITextField
的插座。
-UPDATE-
我檢查,我發現我可以閱讀文本字段的值,但不寫它。
-FINAL UPDATE-
我發現問題與我的代碼。代碼是正確的(減去Tomy211的修正),但問題出在我調用代碼的地方。我在顯示視圖之前調用了該方法,因此當視圖顯示時,它會恢復爲默認值。
所有有類似問題的注意事項: 檢查以確保在更新視圖的UIObject部分的值之前顯示視圖。如果您必須更新未顯示視圖的值,請使用實例變量,並讓UIObject從viewDidLoad方法獲取它們的值。
請編輯此帖以顯示您嘗試過的代碼,並詳細說明您期望發生的事情與實際發生的事情,以便我們能夠更好地爲您提供幫助。 – 2012-07-09 21:41:32
添加了代碼以及我正在嘗試執行的操作。截至目前,該代碼什麼都不做,並且沒有任何錯誤。它沒有語法錯誤,並且沒有運行時錯誤。 – RMDan 2012-07-09 22:20:43
你確定在故事板中正確地分配了'textName'插座嗎? – KDaker 2012-07-09 23:35:51