2010-11-09 8 views
2

Je veux mettre à jour un énorme fichier texte dans UITextView. Mais l'appareil se bloque ou se bloque à quelques reprises. La taille du fichier texte est de 4 Mo.Chargement d'un énorme fichier texte dans UITextview se bloque

UITextView a été ajouté à partir d'Interface Builder.

Je charge le fichier à partir du répertoire de documents. est sous le code pour le chargement du fichier texte: -

NSError *err = nil; 
txtView.text =[NSString stringWithContentsOfFile:documentPath encoding:NSUTF8StringEncoding error:&err]; 

Comme je veux éditer le fichier que je ne peux pas le charger dans WebView qui est beaucoup plus rapide et il fonctionne correctement.

Est-il possible que je ne peux que partiellement charger le fichier texte (une page à la fois) de sorte qu'il ne prend pas beaucoup de temps à charger ou d'une autre manière de charger le fichier entier correctement?

Tout indice dans la bonne direction serait très apprécié. .

+0

quelqu'un peut me donner quelques indices dans la bonne direction? – Ekra

Répondre

2

Cela ressemble à un vilain problème, car vous devez mesurer la quantité de texte qui doit correspondre exactement à une page. Vous pouvez essayer de jouer avec les propriétés UIScrollView et les méthodes déléguées de textview (comme contentOffset), mais je ne le recommanderais pas.

Personnellement, j'essaierais de diviser le contenu du texte en plusieurs pages (plusieurs NSStrings), puis d'utiliser deux boutons «next», «previous» pour passer d'une page à l'autre dans la vue du texte.

+0

J'utilise la logique "Previous", "next" mais il semble que pour un gros fichier, il est difficile pour l'utilisateur de le faire. peut-on avoir un éditeur de fichier texte open source – Ekra

+0

J'ai essayé de mettre UISlider en tant que scroller mais il semble que la logique pour l'implémenter soit assez complexe. Quelqu'un peut-il donner un indice sur cette direction – Ekra

-3

magasin chaque ligne de vos données dans un tableau et utiliser le tableau en tant que source de données de UITableView, reste des choses sera assurée par uitableview

Questions connexes