我在Core Data中存储了一些数据。我成功将核心数据记录导出为CSV文件,并将该CSV文件作为附件发送给最终用户。
我要知道iPhone不允许保存图像以外的附件。相反,它提供了一些选项来查看附件,如pdf。
但我想在iCloud / alternative中保存通过邮件附加的CSV文件,并且我能够保存CSV文件的路径。要将这些记录再次保存到核心数据,即使用户在导出后删除了所有核心数据记录他们&点击导入选项。
直到现在我已完成导出CSV文件和发送邮件。此外,我已将CSV文件保存在文档目录中并解析CSV文件并再次保存到核心数据。
以下是我的代码..使用文档目录。
AppDelegate *appDelegate;
appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context=[appDelegate managedObjectContext];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@“sample.csv"];
if (filePath) {
NSString * myText = [[NSString alloc]
initWithContentsOfFile:filePath
encoding:NSUTF8StringEncoding
error:nil];
if (myText) {
__block int count = 0;
[myText enumerateLinesUsingBlock:^(NSString * line, BOOL * stop) {
line=[line stringByReplacingOccurrencesOfString:@"\t" withString:@" "];
NSArray *lineComponents=[line componentsSeparatedByString:@" "];
if(lineComponents){
float f=[[lineComponents objectAtIndex:0] floatValue];
NSNumber *number=[NSNumber numberWithFloat:f];
NSString *string1=[lineComponents objectAtIndex:1];
NSString *string2=[lineComponents objectAtIndex:2];
NSManagedObject *object=[NSEntityDescription insertNewObjectForEntityForName:@“Record” inManagedObjectContext:context];
[object setValue:number forKey:@"number"];
[object setValue:string1 forKey:@"string1"];
[object setValue:string2 forKey:@"string2"];
NSError *error;
count++;
if(count>=1000){
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
count=0;
}
}
}];
NSLog(@"done importing");
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
else
{
[[[UIAlertView alloc] initWithTitle:@"CSV" message:@"File Imported successfully" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] show];
}
}
}
如何保存CSV附件的任何想法......将不胜感激。
先谢谢..
答案 0 :(得分:0)
我已成功使用以下链接
将CSV文件保存到iCloud中Save iOS 8 Documents to iCloud Drive
我使用以下链接检索iCloud文件/文档。
https://github.com/iRareMedia/iCloudDocumentSync
导出/导入文档可以使用以下链接
进行参考