Note that there are some explanatory texts on larger screens.

plurals
  1. POExporting the core data into csv via mail composer using CHCSVParser(by Dave DeLong)
    text
    copied!<p>I am exporting the core data into csv via mail composer using CHCSVParser(by Dave DeLong) but the issue is that it is taking the core data table name instead of row values.</p> <p>Also, i want them in a particular order.e.g.like "Sewer No", "Manhole 1", "Manhole 2"</p> <p>Here is the coding i am using:</p> <p>//fetching the data from the core data</p> <pre><code>NSManagedObjectContext *moc = [self managedObjectContext]; NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Input_Details" inManagedObjectContext:moc]; NSFetchRequest *request = [[NSFetchRequest alloc] init]; request.predicate = [NSPredicate predicateWithFormat:@"rs_Input_project.name = %@", self.projectObject.name]; [request setEntity:entityDescription]; request.resultType = NSDictionaryResultType; NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sewer_No" ascending:YES]; [request setSortDescriptors:@[sortDescriptor]]; NSError *error; NSArray *fetchedObjects = [moc executeFetchRequest:request error:&amp;error]; //creating a csv CHCSVWriter NSOutputStream *output = [NSOutputStream outputStreamToMemory]; CHCSVWriter *writer = [[CHCSVWriter alloc] initWithOutputStream:output encoding:NSUTF8StringEncoding delimiter:',']; for (id object in fetchedObjects) { if ([object conformsToProtocol:@protocol(NSFastEnumeration)]) { [writer writeLineOfFields:object]; } } [writer closeStream]; NSData *buffer = [output propertyForKey:NSStreamDataWrittenToMemoryStreamKey]; NSString *string = [[NSString alloc] initWithData:buffer encoding:NSUTF8StringEncoding]; NSLog(@"Length of Buffer:%d Error:%@",[buffer length],[error localizedDescription]); if ( [MFMailComposeViewController canSendMail] ) { MFMailComposeViewController *mailComposer = [[MFMailComposeViewController alloc] init]; mailComposer.mailComposeDelegate = self; NSData *myData = [string dataUsingEncoding:NSUTF8StringEncoding]; NSLog(@"myData csv:%@",myData); NSLog(@"string csv:%@",string); // Fill out the email body text NSString *emailBody = @"Sewer_Output"; [mailComposer setMessageBody:emailBody isHTML:NO]; //attaching the data and naming it Sewer_Output [mailComposer addAttachmentData:myData mimeType:@"text/cvs" fileName:@"Sewer_Output.csv"]; [self presentModalViewController:mailComposer animated:YES]; } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload