Je travaille sur un projet iphone/Ipod touch impliquant la sauvegarde et la récupération des données d'une base de données sqlite. Cela fonctionne très bien, mais à certains moments du développement je reçois cette erreur (lorsque l'application démarre):Sqlite - problème de "l'archive incompréhensible"
ermination de l'application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: '*** - [NSKeyedUnarchiver initForReadingWithData:]: incompréhensible archives (0x4E, 0x49, 0x42, 0x41, 0x72, 0x63, 0x68, 0x69) » 2009-11-09 10: 08: 28,810 FagNavigasjon [1627: 20b]
Auparavant, je n'ai pu résoudre ce problème en revenant à un point plus tôt dans le développement et continue. Cette fois, j'ai découvert que si je commente une certaine partie du code, l'application ne plante pas.
while(sqlite3_step(selectstmt3)==SQLITE_ROW){
/*
NSString *navn=[[NSString alloc] initWithUTF8String: (char *)sqlite3_column_text(selectstmt3, 0)];
NSString *telefon=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 1)];
NSString *fodselsar=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 2)];
NSString *ariframtiden=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 3)];
NSString *verneplikt=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 4)];
NSString *utdannelse=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 5)];
NSString *epost=[[NSString alloc] initWithUTF8String:(char *)sqlite3_column_text(selectstmt3, 6)];
appDelegate.navn=navn;
appDelegate.epost=epost;
appDelegate.telefon=telefon;
appDelegate.fodselsar=fodselsar;
appDelegate.studiear=ariframtiden;
appDelegate.utdannelse=utdannelse;
appDelegate.verneplikt=verneplikt;
*/
}
Mais bien sûr, l'application ne charge plus les données. Ce code a déjà fonctionné, et je n'ai pas changé avant cette erreur. J'ai, cependant, ajouté de nouveaux dossiers à la base de données, mais ceux-ci semblent bien quand je les examine dans le gestionnaire de SQLite. Quelqu'un peut-il me dire ce qui peut causer ce problème? Je suis reconnaissant pour toutes les réponses!
Merci d'avoir répondu! J'ai essayé de décommenter petit à petit, et il est déjà causé par la première ligne: NSString * navn = [[NSString alloc] initWithUTF8String: (char *) sqlite3_column_text (selectstmt3, 0)]; Si je comprends bien la ligne se trouve dans la base de données, mais dès que je commence à lire, je reçois l'erreur ... Je n'ai pas encore vérifié les données de base, mais je le ferai. Merci pour le conseil! – Ezop