Dans mon application, j'ai beaucoup de fichiers rtf que j'ai lu et mettre le texte dans un UITextView
avec AttributedText
.swift 3: Obtenir le texte au format rtf à partir de MySQL
Maintenant, je veux mettre tous ces fichiers dans une base de données MySQL et les lire avec un fichier PHP et URLSession
.
import UIKit
class ViewController: UIViewController, URLSessionDataDelegate {
var returnString = ""
var aOverskrifter:NSMutableArray = []
var aLilleTekster:NSMutableArray = []
var aLangTekster:NSMutableArray = []
var styledText = NSMutableAttributedString()
@IBOutlet var txtWikiTekst: UITextView!
//** Button to get data from php file
@IBAction func btnHentWiki_Click(_ sender: UIButton) {
//** Læs fra nettet
let myURLString = "xxxx.php"
HentResponseString(url: myURLString)
}
//** Show rtf text in UITextView
@IBAction func btnVisData_Click(_ sender: UIButton) {
txtWikiTekst.attributedText = styledText
}
//** Function the gets the text from php page
func HentResponseString(url: String) {
let url = URL(string: url)!
let request = URLRequest(url: url)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print("request failed \(error)")
return
}
let responseString = String(data: data, encoding: .utf8)
//** Bearbejd responseString
let lines = responseString?.components(separatedBy: "#")
for line in lines! {
let fields = line.components(separatedBy: "$")
var xcounter:Int = 0
for field in fields {
//** Overskrift
if xcounter == 0 {
self.aOverskrifter.add(field)
}
//** Lille tekst
if xcounter == 1 {
self.aLilleTekster.add(field)
}
//** Lang tekst
if xcounter == 2 {
self.aLangTekster.add(field)
styledText = field
}
xcounter+=1
}
}
}
task.resume()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Mais quand je lance ce code, je ne vois que le texte de rtf dans le UITextView
et non le texte formaté.
Dans la base de données j'utilise UTF8 et dans le fichier PHP j'utilise UTF8, mais cela ne fonctionne pas correctement.
Est-ce que quelqu'un sait comment résoudre ce problème ou pouvez-vous me diriger dans la bonne direction?
Pouvez-vous s'il vous plaît fournir le code complet? – nitinsh99
Le code a été mis à jour maintenant. –
Si je lis dans la base de données et crée un nouveau fichier dans le répertoire du document, je peux remplir le nouveau fichier avec le texte formaté. Mais je ne peux pas lire le contenu de ce nouveau fichier dans mon textview avec la bonne mise en forme. Si je copie un fichier rtf dans mon bundle je peux le lire sans aucun problème et il est montré correctement. Alors pourquoi ne puis-je pas faire la même chose avec un fichier dans le répertoire du document? –