2010-10-06 9 views
0

Le plist a le suffixe de fichier .xml et est un tableau de dictionnaires normal.Le fichier Plist existe dans docs dir, mais ne peut pas être chargé dans un tableau.

Dans le délégué de l'application:

#define docDir [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] 

-(NSString *)cacheFile:(NSString *)filename sitepath:(NSString *)url { 
    NSMutableString *retfn=[NSMutableString string]; 
    NSString *mediaUrl=[NSString stringWithFormat:@"%@%@",url,filename]; 
    if(nil != mediaUrl){ 
     NSData* imageData; 
     [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
     @try { 
      imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mediaUrl]]; 
     } 
     @catch (NSException * e) { //error 
      NSLog(@"%@",@"CacheFile error!"); 
     } 
     @finally { //save to Documents 
      [retfn appendFormat:@"%@%@%@",docDir,@"/",filename]; 
      [imageData writeToFile:retfn atomically:YES]; 
     } 
     [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; 
     [imageData release]; 
    } 
    return retfn; 
} 

Dans mon contrôleur tableView:

#define fname @"myplist.xml" 
#define fdir @"http://mysite.com/iPhoneApp/" 

- (void)viewDidLoad { 
    appdel=(EksjoHusAppDelegate *) [[UIApplication sharedApplication] delegate]; 
    NSString *husDataF=[appdel cacheFile:fname sitepath:fdir]; 
    BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:husDataF]; 

    if (([husDataF length]>0)&&(fileExists)) { 
     NSMutableArray *lochusData=[[NSMutableArray alloc] initWithContentsOfFile:husDataF]; 
     appdel.husData=lochusData; 
     [lochusData release]; 
    } 
} 

initWithContentsOfFile ensembles lochusData à 0x0. C'est la partie du code dont je parle, vraiment. Le reste est plus pour l'achèvement. cacheFile renvoie le chemin de fichier local ou une chaîne vide. Toutes les valeurs sont correctes, mais cela ne va pas charger/entrer dans le tableau.

Se sentir bête. Je ne vois tout simplement pas l'erreur. Y a-t-il quelque chose qui me manque?

+0

Le code est correct, le problème avec Content-Type/Jeu de caractères. Le script qui a généré le fichier l'a enregistré sur le serveur avec les mauvais attributs. Toujours ne va pas valider, mais fonctionne. –

Répondre

0

réponse était, "Vérifiez votre charset lors de l'enregistrement du XML généré, mec" :)

Questions connexes