如何将值从一个页面传递到另一页面并在iPhone中单元格的页面文本标签中显示值?

发布于 2024-11-06 05:18:22 字数 156 浏览 1 评论 0原文

我有一个应用程序,当我单击表格项目时,会打开一个新页面,它允许我在文本字段和文本视图中输入详细信息,然后单击提交按钮,它应该导航到上一页(即表格视图)并填充表视图单元格的文本标签,其值在文本字段和文本视图中输入。

这怎么可能?如何使用文本字段和文本视图中输入的值填充表格视图单元格?

I have an application in which when I click on the table item a new page opens, which allows me to enter details in textfield and textview, and clicking on the submit button it should navigate to the previous page which is a tableview and populate the the textlabel of the cell of the table view with the value which are entered in the textfield and textview.

How is this possible? How could I populate the tableview cell with the values entered in the textfield and textview?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

埋情葬爱 2024-11-13 05:18:22

一切都取决于数据在 TableView 中的存储方式。例如,如果您有一个 plist 文件,则在提交新值时必须重写该文件。

之后,在:

- (void)viewWillAppear:(BOOL)animated {}

您必须重新加载plist文件并调用[self.tableView reloadData];

但是还有另一种方法。如果您只有几个值,可以使用 NSUserDefault 类引用 在您的应用中存储数据。

Everything depends on how the data are stored in your TableView. For example if you have a plist file you must re-write this file when you submit new value.

After that, on :

- (void)viewWillAppear:(BOOL)animated {}

You must reload plist file and invok[self.tableView reloadData];

However there is an other method. If you have just few values you can use NSUserDefault class Reference to store data in your app.

揽清风入怀 2024-11-13 05:18:22

您需要使用以下委托函数:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

objInf.nameLable =[NSString stringWithFormat:@"Hello %@ Have a Good Day :)",[listData objectAtIndex:indexPath.row]];
NSLog(@"Next View Value =%@",[listData objectAtIndex:indexPath.row]);
NSLog(@"Next View Value =%@",objInf.nameLable);
[self presentModalViewController:objInf animated:YES];
}

作为
objInf 是第二类的对象,nameLable 是 NSString,您可以将其设置为要在其中显示数据的第二类的标签文本。

You Need to use following delegate function:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

objInf.nameLable =[NSString stringWithFormat:@"Hello %@ Have a Good Day :)",[listData objectAtIndex:indexPath.row]];
NSLog(@"Next View Value =%@",[listData objectAtIndex:indexPath.row]);
NSLog(@"Next View Value =%@",objInf.nameLable);
[self presentModalViewController:objInf animated:YES];
}

As
objInf is second class's object and nameLable is NSString which you can set as text of label of your second class where u want to display the data..

心的位置 2024-11-13 05:18:22

通过使用属性,您可以做到这一点。输入页面上文本字段字符串的字符串属性,然后只需创建该页面的对象即可访问这些属性。

请记住,如果创建新对象,则需要单调对象,然后它会重新初始化属性。

因此使用它来创建该输入类的对象。

YourClass *obj= (YourClass *)[self.navigationController.viewControllers objectAtIndex: [self.navigationController.viewControllers count]-2];

这给出了导航堆栈中的对象。

By using property you can do this. string properties of textfield strings on input page then simply by making object of that page you can access these property.

remember you need singletone object if you make new object then it reintialise the properties.

so use this for making object of that input class.

YourClass *obj= (YourClass *)[self.navigationController.viewControllers objectAtIndex: [self.navigationController.viewControllers count]-2];

this gives object from navigation stack.

兮子 2024-11-13 05:18:22

这可以通过两种方式实现。

一是,你可以在另一个 ViewController 中拥有 2 个 NSString 属性。 1 分配数据的方法。喜欢

  • @property (非原子,保留) NSString *textfieldValue;并合成它。
  • @property (非原子,保留) NSString *textviewValue;并合成它。
-(void) contentToDisplay: (NSString *)pTxtFieldValue txtViewValue(NSString*)pTxtViewValue{
    self.textfieldValue = pTxtFieldValue;
    self.textviewValue = pTxtViewValue;
}

通过提交切换到另一个 ViewController 时,使用其对象来分配文本,例如

  • [objViewController contentToDisplay:@"textfieldvalue" txtViewValue:@"textviewValue"];

希望有帮助。

That can be achieved by 2 ways.

One is, You can have 2 NSString property in another ViewController. 1 Method to assign data in that. like

  • @property (nonatomic,retain) NSString *textfieldValue; and Synthesize it.
  • @property (nonatomic,retain) NSString *textviewValue; and Synthesize it.
-(void) contentToDisplay: (NSString *)pTxtFieldValue txtViewValue(NSString*)pTxtViewValue{
    self.textfieldValue = pTxtFieldValue;
    self.textviewValue = pTxtViewValue;
}

While switching to another ViewController by submitting use its object to assign text like

  • [objViewController contentToDisplay:@"textfieldvalue" txtViewValue:@"textviewValue"];

Hope it helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文