0

我的 UITableView 中有一个 customcell。此自定义单元格有一个标签和文本框。当用户填写数据(4-5 个字段)并单击“保存”按钮时。我想保存他输入的数据。

我怎样才能做到这一点??

我最多只有大约 5-6 个字段。如果您能举例说明我如何完成这项工作,那就太好了。

4

5 回答 5

0

您是否尝试将数据传递回表格视图?如果是这样,您必须将信息保存在数据结构中,然后使用定义的协议传递它。

于 2013-03-06T21:56:03.217 回答
0

试试下面的代码:

- (UITableViewCell *)tableView: (UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tabTeamDetails dequeueReusableCellWithIdentifier:@"customcellIdentifier"];

get UItextfeild and assign tag as below
   textbox.tag = indexpath.row; //used to refer particular textfiled
}

在保存按钮操作中:

NSMutableDictionary *dic  = [[NSMutableDictionary alloc] init];
//for(i=0;i<noofrowsintableview;i++){
NSString *text = (NSString *)[self.view viewWithTag:i];
[dic addObject:[NSString stringWithFormat:text] forValue: i];
}
于 2013-03-07T09:16:32.237 回答
0

根据您的评论编辑:

在这种情况下,Apple 建议使用Delegate-Pattern. 基本上,你要做的是:

@protocol FirstDataVCDelegate;

@interface FirstDataVC : UIViewController

@property (weak, nonatomic) id<FirstDataVCDelegate> delegate;

//...

@end

@protocol FirstDataVCDelegate <NSObject>

- (void)firstDataVC:(FirstDataVC *)dataVC didCollectData:(NSDictionary *)data;

@end


@interface RootVC: UIViewController<FirstDataVCDelegate>

//...

@end

@implementation RootVC

- (void)firstDataVC:(FirstDataVC *)dataVC didCollectData:(NSDictionary *)data
{
    NSString *name = [data valueForKey:@"name"];
    [self.completeData setValue:name forKey:@"name"];
}

@end

在这种情况下RootVC,将是想要发送整个数据的 VC。FirstDataVC是用户输入数据的 VC 之一。

每个获得用户输入的 VC 都必须提供一个协议,由其RootVC实现。

这里有更多关于委托的内容。

于 2013-03-06T21:44:58.160 回答
0

一种方法:将数据保存在字典中。

于 2013-03-06T21:40:31.787 回答
0

单击保存按钮后,您可以制作他将填充的数据的数据结构。将这些值设置为数据结构也可以使用NSMutableDictionary键值存储

示例:假设我们有 4 个UITextFeildstextFeild1、textFeild2、textFeild3、textFeild14

NSMutableDictionary *dic  = [NSMutableDictionary dictionary];
[dic addObject: textFeild1.text forValue: @"val1"];
[dic addObject: textFeild2.text forValue: @"val2"]; 
[dic addObject: textFeild3.text forValue: @"val3"];
[dic addObject: textFeild4.text forValue: @"val4"];

//Now you have the values and can retrieve them by: 
NSString *value1 = [dic  valueForKey:@"val1"];
于 2013-03-06T21:43:03.573 回答