2011-04-05 4 views
2

J'ai ce morceau de code:UIWebView chargement texte brut

 NSString *body = dataItem.body; 
     NSData* data=[body dataUsingEncoding:NSUTF8StringEncoding]; 

     if (data) {  
    [webView loadData:data MIMEType:@"text/plain" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"nil"]]; 
         } 

webView.dataDetectorTypes = UIDataDetectorTypeAll; 

Cette pièce sur l'exécution donne cette erreur dans mon débogueur

régime inconnu, ne rien faire: néant

Cependant si je fais ceci:

NSString *webViewBody = [[body stringByReplacingOccurrencesOfString:@"\t"  withString:@"&nbsp;"] stringByReplacingOccurrencesOfString:@"\n" withString:@"<br>"]; 

NSString *str = [NSString stringWithFormat:@"<pre> %@ </pre>",body]; 
     [webView loadHTMLString:webViewBody baseURL:nil]; 

     webView.dataDetectorTypes = UIDataDetectorTypeAll; 

Je suis en mesure de voir le contenu de mon webView.

Je veux que le premier bit soit exécuté. Pourquoi me donne-t-il une erreur?

Répondre

4

Cette ligne

[NSURL URLWithString:@"nil"] 

crée juste un NSURL invalide, et en essayant de le charger dans WebView est la cause de cette erreur. Il suffit de passer nil pour baseURL comme vous le faites dans le deuxième extrait.

+0

merci beaucoup. J'ai du mal à gérer l'ouverture d'un lien URL en safari. Lorsque je clique sur un lien dans UIWebView, il s'ouvre en lui-même. Je voudrais identifier les url dans le texte et rediriger le contrôle vers safari quand une URL est cliquée dans mon UIWebView. Comment puis-je accomplir cela? –

+0

Veuillez ouvrir une autre question pour ce problème. – pt2ph8