一尘不染

新行命令(\ n)无法与Firebase Firestore数据库字符串一起使用

swift

我正在使用Swift制作应用程序,并且正在使用Firebase
Firestore。Firestore是一个数据库,其中包含一些我放入的字符串UILabel。带着一些刺痛,我正在使用换行命令(或\n)。因此,我的一些字符串如下所示:

"This is line one\nThis is line two\nThis is line three"

但是,每当检索到该字符串时,它就是addetoto,UILabel并显示如下:

这是第一行\ n这是第二行\ n这是第三行

…什么时候应该是这样…

这是第一行

这是第二行

这是第三行

我假设这\n不适用于来自数据库的字符串?我尝试使用进行两次转义\\n。有人对此有解决办法吗?

这是我正在使用的代码…

    database.collection("songs").whereField("storyTitle", isEqualTo: "This is the story header").getDocuments { (snapshot, error) in

        for document in (snapshot?.documents)! {
            self.storyBodyLabel.text = (document.data()["storyBody"] as? String)!
   }
}

阅读 242

收藏
2020-07-07

共1个答案

一尘不染

我知道了。我只是用换行命令替换了我收到的字符串中的字符“ \ n”。

label.text = stringRecived.replacingOccurrences(of: "\n", with: "\n")

因为我手动键入了字符串并给了Firebase一个字符串,就像 "Line one\nline two\nline three"我将“ \ n”替换为“
\ n”一样,但是如果给Firebase一个字符串,例如

"Line one
Line two
Line three"

Firebase "\\n"在编写代码之前将这些回报替换为

label.text = stringRecived.replacingOccurrences(of: "\\n", with: "\n")

希望有帮助!

2020-07-07