2010-12-14 21 views
5

Me gustaría poder exportar mi entidad Core Data a un archivo CSV, para guardar los datos de la aplicación. Busqué en Google pero no encontré nada.Cómo exportar la entidad Core Data a un archivo CSV

Mi aplicación usa solo una entidad con cinco atributos. Estos atributos son todas las cadenas excepto una que es un número decimal (con una coma o un punto). ¿Cómo puedo exportar esta entidad con todos los atributos?

+0

¿Hay alguien con otras soluciones? – matteodv

Respuesta

7

usted tiene que crear un método para hacer este tipo de operación, así:

NSString *separator = @", "; 
NSString *cvs = @""; 
for (NSObject *object in arrayOfObject) { 
     cvs = [NSString stringWithFormat:@"%@%@%@%@%@\n", cvs, [object att1], separator, [object att2], separator, [object att3]...]; 
} 
//If you want to store in a file the CVS 
[cvs writeToFile:pathToFile atomically:YES]; 

le sugiero que trate de evitar el sistema de "anexar" que estoy usando, este tipo de operación de generar gotea en la memoria. En lugar de un stringWithFormat que volver a escribir la misma var, utilizar este método que ha sido muy bien escrito: Shortcuts in Objective-C to concatenate NSStrings

También puede echar un vistazo a esta biblioteca: https://github.com/davedelong/CHCSVParser Nunca usé, pero parece muy útil para escribir/leer archivos CVS.

+0

¡Gracias por tu respuesta! Probaré este método y veré el analizador vinculado;) Una pregunta: ¿debo declarar "arrayOfObject"? Raramente uso para construir y tengo algunas respuestas al respecto :) – matteodv

+0

sí, el arrayOfObject es la matriz de objetos que solicitas a Core Data. – bontoJR

+0

¿Cómo puedo obtener una matriz de Core Data? Estoy usando atributos sin una matriz pero con este código ... Por ejemplo, el nombre de mi entidad es Entity, luego uso Entity.attribute ... Realmente no entiendo cómo ... :(¿Me pueden ayudar a aclarar mi ideas? Gracias! – matteodv