0
不能爲我的生活弄清楚這一點。顯示來自文本字段中的tableview數據目標C/iOS
所以我創建了一個聯繫列表應用程序,非常類似於iOS7自帶的聯繫人列表應用程序。
- 用戶在詳細視圖控制器上用GUI創建名稱。
- 用戶返回到主聯繫人列表頁面(主視圖控制器)
- 用戶點擊他們剛剛創建
- 帶來了他們回到視圖控制器名稱/接觸,但它顯示了他們進入文本字段。
用戶用此屏幕開始: 用戶點擊添加聯繫人按鈕,在這裏用戶數據,使他們回到第一屏補充說:
接下來,他們被帶到第一屏幕,並能夠利用上的接觸,他們已經增加了,應當調出所有輸入的詳細信息(名字,姓氏,電話號碼等):
這裏是我的代碼在我的主視圖控制器:
- (void) detailViewControllerWillDissapear: (DetailViewController *) dvc {
NSLog(@"test");
DirectoryEntry *person = [[DirectoryEntry alloc] init];
person.firstName = dvc.txtFirstName.text;
person.lastName = dvc.txtLastName.text;
person.phoneNumber = dvc.txtPhoneNumber.text;
person.address = dvc.txtAddress.text;
[self.entries addObject:person];
NSLog(@"index is %@", person.firstName);
NSLog(@"count of array %lu", (unsigned long)self.entries.count);
dvc.holdData = person;
[self.tableView reloadData];
}
這裏是我的賽格瑞:
#pragma mark - segue
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
//DirectoryEntry *person = [[DirectoryEntry alloc] init];
DetailViewController *dvc = segue.destinationViewController;
dvc.delegate = self;
if ([segue.identifier isEqualToString:(@"tappedData")]) {
NSLog(@"what is the person class have %@", dvc.holdData);
// NSLog(@"dvc.holdData = %@", person.firstName);
}
}
所以我創建了公共變量HOLDDATA這是爲了保持其從陣列到Person類中輸入的所有數據。但是每當我添加它時,都會產生一個空值。我能夠訪問變量,即holdData.firstName,但只是一切都是空的。
有什麼想法?真的很困惑,謝謝。
所以我在主視圖控制器中添加了viewdidLoad dvc.holdData = person; 它打印出只有第一個對象,但沒有在其他方法?這是一個公共變量。任何想法爲什麼會發生? – Javanoob33
我甚至不知道爲什麼當你處於主控制器的'viewDidLoad'中時'DetailViewController'會存在。就像我說的那樣,「在賽季中提供它[即人員]」。 –
對不起,我對iOS很新,不確定你提供的是什麼意思?你的意思是創造另一個人的實例嗎? – Javanoob33