使用SQlite保存自定义UITableView详细信息视图?

时间:2011-11-08 15:52:14

标签: database xcode sqlite tableview detail

我需要一些帮助来保存自定义详细信息视图控制器。在我的表视图中,我有一个添加和编辑按钮,用户可以在其中添加和删除自定义单元格。每个单元格都转到相同的自定义视图,我唯一的问题是有什么方法可以使用SQlite或其他数据库保存每个单元格?我只是不想创建大量的viewcontrollers并使用NSUserDefaults保存每个单元格。

我的代码:

表。 h =

IBOutlet UITableView *warrantyTableView;

    NSMutableArray *data;
    IBOutlet UITextField *tableCellText;
    IBOutlet UITableView *mainTableView;
    IBOutlet UINavigationItem *navItem;
}

- (IBAction)addRowToTableView;
- (IBAction)editTable;
- (NSString *)dataFilePath;
- (IBAction)endText;  

Table.m =

 - (NSString *)dataFilePath {

        NSString *dataFilePath;
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentDirectory = [paths objectAtIndex:0];
        dataFilePath = [[documentDirectory stringByAppendingPathComponent:@"applicationData.plist"] retain];
        return dataFilePath;

    }

    - (void)saveData {

        [NSKeyedArchiver archiveRootObject:[data copy]  toFile:[self dataFilePath]];

    }
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        // Navigation logic may go here. Create and push another view controller.

         PushedViewController *pushedViewController = [[PushedViewController alloc] initWithNibName:@"PushedView" bundle:nil];
         // ...
         // Pass the selected object to the new view controller.
            PushedViewController *ifView = [[PushedViewController alloc] initWithNibName:@"PushedView" bundle:nil];
            [self.navigationController pushViewController:ifView animated:YES];
            [ifView release];
        }

1 个答案:

答案 0 :(得分:1)

为什么要将每个单元格保存在数据库中?将所有数据保存在SQLite中的单元格中。访问时,从SQLite数据库获取数据到字典数组。字典将包含一个单元格的所有数据,该数组将包含具有每个单元格数据的所有字典。然后使用该数组中的数据重新加载tableview。 WWhile编辑/添加/删除对象的查看对象,首先从字典数组执行整个操作,然后,当单个操作完成后,将其保存到sqlite并再次重新加载tableview。