私はこれに不慣れです。Tableviewを備えたアプリケーションがあり、セルを押すと、DetailViewに移動します。ここで問題となるのは、Detailview内にtextFieldがあり、保存ボタンを押した後、ユーザーが元のセルのdetailTextLabelセグメントにキーバックしたデータをロードしたいということです。
どうすればそうできますか?以下は私が持っているものです:
DetailViewController.m
//save button
-(IBAction) SendTextFieldtoViewController:(id)sender {
NSString *grabKeyedData = self.inputField.text;
ViewController *mainController =[self.storyboard instantiateViewControllerWithIndentfier:@"mainController"];
[mainController GrabbedKeyData: grabKeyedData];
}
ViewController.m
-(void) GrabbedKeyData:(NSString *)text{
grabData = text;
NSLog(@" data: %@",text);
[tableView reloadData];
}
-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) indexPath {
.....
if(grabData == nil){
[[cell detailTextLabel] setText:@"no data"];
}else{
[[cell detailTextLabel] setText:grabData];
}
データを-(void)GrabbedKeyDataに渡すことができ、渡されたデータをNSLogから読み取ることができます。しかし、ViewControllerに戻ったときに、テーブルが更新されていないようです。