在目标c中存储历史列表

时间:2011-12-23 06:29:50

标签: iphone qr-code saving-data

我正在做一个扫描qr codes.a的项目。 在此项目中,存在历史页面,其中我必须显示用户扫描的历史记录。 它仅包含URL。所以我打算在表格视图中显示他之前扫描过的网址列表。

如何保存历史记录列表?请帮忙。我可以使用NSMutable数组或其他东西保存扫描的网址,如[myArray writeToURL:aURL atomically:NO];

3 个答案:

答案 0 :(得分:0)

是的,你可以。

您的表视图需要实现UITableViewDataSource以使用NSMutableArray作为表视图的源:(此处使用 myArray 作为此示例代码中的数组)

-(void)saveToHistoryArray:(NSString *)urlAsString {
    [myArray addObject:urlAsString];
    [self.tableView reloadData];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
/* insert error checking here */

    return [myArray count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell";

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

    cell.textLabel.text = [myArray objectAtIndex:indexPath.row];

    return cell;
}

答案 1 :(得分:0)

是的,你必须使用sqlite或coredata创建一个internel数据库,无论用户将qrcode存储扫描到数据库中,只要用户想要查看历史记录,然后从数据库中获取并显示你用来显示的任何方法

答案 2 :(得分:0)

NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingString:@"/"];
NSString *fullPathToFile = [filePath stringByAppendingPathComponent:@"myfile.plist"];
[myArray writeToFile:fullPathToFile atomically:YES];