|
Hola un cordial saludo a todos, por favor me podrían ayudar con una una duda que tengo, estoy haciendo como primera aplicación de aprendizaje un directorio donde guarde contactos, en los cuales deseo almacenar datos como su nombre, teléfono, dirección y quisiera saber como hago para almacenar estos datos en una especia de archivo o base de datos en el IPhone, es decir que llene el formulario, luego presione un botón(guardar) y me guarde los datos temporal mente hasta que quiera borrarlos, y acceder a ellos cuando lo desee. Por favor cualquier aporte o documentación(en español si es posible) del tema me seria de gran ayuda. Gracias. |
|
Para guardar información en tu aplicación tienes básicamente dos opciones, sqlite y coredata. Busca información sobre las dos tecnologías y elige la que mejor se adapte a tus necesidades. ¡Suerte! |
|
hombre si quieres almacenar algo muy concreto y simple tambien puedes usar el NSUserDefaults un saludo |
|
En mi caso suelo usar Core Data siempre. Pero si no vas a tener un volumen de datos almacenados grande siempre puedes hacer uno del NSUserDefaults. Saludos |
|
Podes usar NSUserDefault, los datos los podes almacenar en una property list. algo asi te paso uno que habia echo que seguramente te de una idea, tiene 2 text field, un boton para guardar, y botones siguiente , anterior y eliminar. lo guarda en una property //Agenda define KEY_NOMBRE @"Nombre"define KEY_PROFESION @"Profesion"define ficheroPersistente @"data.plist"@interface ViewController : UIViewController<uitextfielddelegate> { UITextField nombre; UITextField profesion;
} @property(nonatomic,retain) IBOutlet UITextField nombre; @property(nonatomic,retain) IBOutlet UITextField profesion; @property(nonatomic,retain) IBOutlet UILabel nombreMostrado; @property(nonatomic,retain) IBOutlet UILabel profesionMostrada; @property(nonatomic,retain) IBOutlet UIButton anterior; @property(nonatomic,retain) IBOutlet UIButton siguiente; @property(nonatomic,retain) IBOutlet UIButton *eliminar; @property(nonatomic,retain)NSMutableArray *listaContactos; @property(nonatomic)NSInteger contactoActual; -(void)mostrarContacto; -(void) refrescarBotones; -(IBAction)onGuardarPulsado:(id)sender; -(IBAction)mostrarSiguiente:(id)sender; -(IBAction)mostrarAnterior:(id)sender; -(IBAction)eliminarContacto:(id)sender; define kContactos @"contactos"@implementation ViewController @synthesize nombre; @synthesize profesion; @synthesize nombreMostrado; @synthesize profesionMostrada; @synthesize anterior; @synthesize siguiente; @synthesize eliminar; @synthesize listaContactos; @synthesize contactoActual;
-(void) refrescarBotones { if (contactoActual <0) { anterior.enabled =NO; siguiente.enabled =NO; eliminar.enabled =NO; } else { anterior.enabled=YES; siguiente.enabled = YES; eliminar.enabled = YES; if (contactoActual == 0) { anterior.enabled =NO; } if (contactoActual == ([listaContactos count] -1)) { siguiente.enabled = NO; } } } -(IBAction)onGuardarPulsado:(id)sender { NSDictionary *item = [NSDictionary dictionaryWithObjectsAndKeys:nombre.text,KEY_NOMBRE,profesion.text,KEY_PROFESION, nil]; [self.listaContactos addObject:item];
} -(void)mostrarContacto { if (contactoActual == -1) // No hay elementos { nombreMostrado.text = @"-"; profesionMostrada.text = @"-"; }
} -(IBAction)mostrarSiguiente:(id)sender { if(contactoActual+1<[listaContactos count]) //Si la lista de contactos es 2 y el contactoactual es 2 solo lo muestra { contactoActual++; } [self mostrarContacto]; } -(IBAction)mostrarAnterior:(id)sender { if(contactoActual > -1) //Si la lista de contactos es 0 y el contacto actual es 0 { contactoActual--; } [self mostrarContacto]; } -(IBAction)eliminarContacto:(id)sender { if ([listaContactos count]>0) { if(contactoActual >=0) { [listaContactos removeObjectAtIndex:contactoActual]; contactoActual--; } } else { contactoActual = -1; } [self mostrarContacto];
} |