将数据从uitableview保存到核心数据

时间:2012-07-03 00:33:17

标签: iphone uitableview core-data uitextfield

我有一个UITableView,其中有两个不同的文本字段用于文本输入。有没有办法遍历整个tableview并将其保存到核心数据或将结果复制到数组,然后将其保存到核心数据。 这是创建我的tableview单元格的代码

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"Add Terms to New Set";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

// Configure the cell...
questionTextField = [[UITextField alloc] initWithFrame:CGRectMake(10, 10, 250, 30)];
questionTextField.adjustsFontSizeToFitWidth = YES;
questionTextField.textColor = [UIColor blackColor];
//questionTextField.placeholder = @"Put Question Here";
questionTextField.keyboardType = UIKeyboardTypeDefault;
questionTextField.returnKeyType = UIReturnKeyDone;
[questionTextField.layer setBorderColor: [[UIColor grayColor] CGColor]];
[questionTextField.layer setBorderWidth: 0.5];
[questionTextField.layer setCornerRadius:8.0f];
[questionTextField.layer setMasksToBounds:YES];

[questionTextField setEnabled: YES];

answerTextField = [[UITextField alloc] initWithFrame:CGRectMake(400, 10, 250, 30)];
answerTextField.adjustsFontSizeToFitWidth = YES;
answerTextField.textColor = [UIColor blackColor];
//answerTextField.placeholder = @"Put Answer Here";
answerTextField.keyboardType = UIKeyboardTypeDefault;
answerTextField.returnKeyType = UIReturnKeyDone;

[answerTextField.layer setBorderColor: [[UIColor grayColor] CGColor]];
[answerTextField.layer setBorderWidth: 0.5];
[answerTextField.layer setCornerRadius:8.0f];
[answerTextField.layer setMasksToBounds:YES];


[answerTextField setEnabled: YES];

[cell addSubview:questionTextField];
[cell addSubview:answerTextField];
return cell;

}

如何遍历tableview并将问题文本和答案文本添加到数组中或直接保存到我的核心数据模式中?

谢谢!

1 个答案:

答案 0 :(得分:1)

您应采用不同的策略来保存数据。不要依赖于视图(即单元格)来保持它,您应该在用户输入后立即将其放入后备阵列。

您没有说明要显示的总行数是多少,但如果有滚动,则几乎可以保证由于缓存而导致的单元格数量少于行数,并且输入的信息将在单元格中丢失又回来了。

出于同样的原因,除非cellForRowAtIndexPath:返回nil,否则不应向dequeueReusableCellWithIdentifier:中的单元格添加字段...缓存的字段已经包含这些字段。