Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 单击单元格后编辑详细信息控制器中的文本字段_Objective C_Uitableview - Fatal编程技术网

Objective c 单击单元格后编辑详细信息控制器中的文本字段

Objective c 单击单元格后编辑详细信息控制器中的文本字段,objective-c,uitableview,Objective C,Uitableview,在用户输入姓名后,我在编辑单元格中的姓名时遇到了一些问题基本上,他们单击一个按钮“添加名称”,将他们带到详细信息控制器,输入他们的名字和姓氏,然后单击“完成”。将委托回主控制器,并更新单元格以显示该名称。 我希望他们能够输入许多名称,然后单击一个单元格,该单元格会将他们带回他们已经输入的数据(存储在名为“entry”的NSMutableArray中)。 第一个NSLog显示的名称很好,但第二个返回为“null”,文本字段为空,准备添加新名称……非常感谢所有和任何帮助:)我认为您的工作方式是错误的

在用户输入姓名后,我在编辑单元格中的姓名时遇到了一些问题

基本上,他们单击一个按钮“添加名称”,将他们带到详细信息控制器,输入他们的名字和姓氏,然后单击“完成”。将委托回主控制器,并更新单元格以显示该名称。
我希望他们能够输入许多名称,然后单击一个单元格,该单元格会将他们带回他们已经输入的数据(存储在名为“entry”的NSMutableArray中)。


第一个NSLog显示的名称很好,但第二个返回为“null”,文本字段为空,准备添加新名称……
非常感谢所有和任何帮助:)

我认为您的工作方式是错误的,您没有直接将值设置到
UITextfield
,而是向它传递一个
NSString
,这将是模型的属性

这就是
MVC
的要点,数据不应该直接与
UI
交互

MasterViewController
中,需要导入
DetailViewController
标题:

#import "DetailViewController.h"
执行
didSelectedRow
中的步骤:

-(void) tableView: (UITableView *) tableView didSelectRowAtIndexPath: (NSIndexPath *) indexPath {
     [self performSegueWithIdentifier:@"detailSegue" sender:sender];
}
实现segue deleguate并设置其firstName属性(
NSSrting

然后在DetailView的viewDidLoad中,将
firstName
字符串分配给
UItextfield
文本属性:

_firstNameField.text = self.firstName;

如何创建self.detailVIew.firstNameField?在我的主视图controller.h中使用@property DetailViewController*detailViewNo,我指的是firstNameField…非常感谢!工作完美,你是天使:)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
 // Make sure your segue name in storyboard is the same as this line
 if([segue.identifier isEqualToString:@"detailSegue"]){

    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];

    DetailViewController*detailView = (DetailViewController*)segue.destinationViewController;
    detailVC.firstName =[[self.entry objectAtIndex:indexPath.row]firstName]]; 

    NSLog(@"%@",[[self.entry objectAtIndex:indexPath.row]firstName]);
  }
}
_firstNameField.text = self.firstName;