Iphone 如何通过在另一个uiviewcontroller的文本字段中输入值来保存tableviewcontroller的detailtexlabel中的值?
我有一个应用程序,其中我有两个控制器,一个是由文本字段组成的viewcontroller,另一个是tableview控制器。当我在uiviewcontroller的文本字段中输入任何值并使用导航栏按钮项返回时,该值必须保存在我以前的tableviewcontroller的detailtextlabel中Iphone 如何通过在另一个uiviewcontroller的文本字段中输入值来保存tableviewcontroller的detailtexlabel中的值?,iphone,objective-c,tableview,Iphone,Objective C,Tableview,我有一个应用程序,其中我有两个控制器,一个是由文本字段组成的viewcontroller,另一个是tableview控制器。当我在uiviewcontroller的文本字段中输入任何值并使用导航栏按钮项返回时,该值必须保存在我以前的tableviewcontroller的detailtextlabel中 将NSStringvaraiable的引用传递给第二视图控制器,在那里更改其值,当您返回到第一视图控制器时,您可以对其进行修改 使用NSUserDefaults在第二视图控制器中设置值。回到第一
NSString
varaiable的引用传递给第二视图控制器,在那里更改其值,当您返回到第一视图控制器时,您可以对其进行修改NSUserDefaults
在第二视图控制器中设置值。回到第一个视图控制器时,在viewdide
方法中读取值这很简单。在
TableViewController.h
文件中声明一个NSString
对象,如下所示:
@interface TableViewController.h{
NSString*detailTxt;}
别忘了保留和合成它
现在打开另一个包含文本框的ViewController。这样,创建TableViewController
的对象,如下所示:
TableViewController*nextController=[[TableViewController alloc]initWithNibName@“TableViewController”bundle:nil]代码>
现在您可以访问TableViewController
对象。您只需调用在TableViewController.h
中声明的字符串,并在文本框中指定文本
nextController.detailTxt=YourTextBoxName.Text代码>
现在回到TableViewController,将detailTxt
字符串中的文本分配给单元格。detailTextLabel
。希望这有帮助
快乐编码 为此使用委托方法。
通过委托方法将值(textfield值)发送回第一个视图控制器(包含tableview)
(您需要将所选行的索引设置为secondview控制器,并且必须将索引与值一起发送,以便可以正确更新数据源)
收到值时更新数据源
在第一个视图控制器的视图中重新加载tableview
Pre req:您需要将数据源中的值设置为detailTextLabel。在appDelegate类中生成属性
appDelegateview.h
NSString *text;
@property (nonatomic,retain) NSString *text;
AppDelegateview.h.m
@synthesize text
in viewWillDisappear of view.m
yourAppDelegateClass *obj=(yourAppDelegateClass *)[[UIApplication sharedApplication] delegate];
obj.text=@"your value";
in tableViewController.m
in cellForRowAtIndexPath:
yourAppDelegateClass *obj=(yourAppDelegateClass *)[[UIApplication sharedApplication] delegate];
cell.detailTextLabel.text=obj.text;
你可以详细解释一下哪种委托方法?你必须编写一个新的委托(协议)才能将值发回。有关更多的ref abt协议,以及。我希望在通过下一个控制器的“导航后退”按钮导航时,将值保存在我的tableviewcontroller上。您实现这一点可能有点错误吗?您想检测导航控制器的点击事件吗?当我通过导航栏左后按钮项从nextcontroller导航到tableviewcontroller时,wasim。值应该保存在detailtextlabelishu上,现在它正在工作,但有一个问题,textfield值在之后的选项卡之间没有保留将TextFieldValue放入obj.text调用此行[obj.text retain];我已经这样做了,但这不起作用。当我单击选项卡时,会看到同一个选项卡,它们在textfield中没有值,因此detailtextlabelin cellForRow中没有值。。对于viewController,使用此yourTextField.text=obj.text;obj是我的viewController中appDelegate class.ishu的对象,它们不是cellforRow方法。那么我应该把代码放在哪里呢