上传到 Firestore 的文本中的 Swiftui Firebase 段落和换行符

Swiftui Firebase paragraghs and line breaks in text uploaded to Firestore

我已经检查过 Stack overflow,但在网上找不到任何关于 Swiftui 的答案。我手动将内容上传到 Firestore 并以文章格式在我的应用程序中获取它,当我在应用程序中检索我的数据时,文章被压缩在一起,没有换行符和段落。我尝试使用在 json 文件中工作的 \n\n,它没有工作并且以文本形式出现。下面是我的获取函数:

func fetchHotspots() {
        let fb = Firestore.firestore()
        
        fb.collection("hotspots").getDocuments { snapshot, error in
            if error == nil {
                if let snapshot = snapshot {
                    DispatchQueue.main.async {
                        self.hotspots = snapshot.documents.map { h in
                            return HotSpots(id: h.documentID,
                                hotid: h["hotid"] as? String ?? "",
                                uid: h["uid"] as? String ?? "",
                                imageUrl: h["imageUrl"] as? String ?? "",
                                name: h["name"] as? String ?? "",
                                location: h["location"] as? String ?? "",
                                countryName: h["countryName"] as? String ?? "",
                                countryFlagUrl: h["countryFlagUrl"] as? String ?? "",
                                phonenumber: h["phonenumber"] as? String ?? "",
                                info: h["info"] as? String ?? "",
                                likes: h["likes"] as? Int ?? 0)
                        }
                        
                    }
                }
            } else {
                
            }
        }
        print("DEBUG: printing hotspots list of \(hotspots)")
    }

这篇文章位于我在下面的 TextView 中的“信息”变量中:

VStack(alignment: .center, spacing: 3) {
                    Text(viewModel.hotspot.info)
                        .font(.system(size: 12))
                }

这是我在信息变量中的示例文章:

白金汉喷泉是位于格兰特公园中心的芝加哥地标,位于皇后区和国会大道之间。它于 1927 年落成,是世界上最大的喷泉之一。格兰特公园皇冠上的明珠适合国王——字面意思。设计灵感来自法国凡尔赛宫为路易十五建造的华丽喷泉之一。

它恰好是原来的两倍大小,使其成为世界上最大的喷泉之一。这个尺寸象征着附近密歇根湖的浩瀚,每分钟使用多达 15,000 加仑的水。在 dusk,白金汉喷泉栩栩如生。日落之后前往公园,每小时整点都会有一场壮观的灯光音乐表演。如果您白天到访,千万不要错过每小时 20 分钟的水上表演,喷泉的中央喷水器将水喷射到 150 英尺的高空。喷泉从 5 月到 mid-October.

期间开放

白金汉喷泉于 1927 年向 public 开放,受狂热的艺术收藏家和慈善家凯特·斯特吉斯·白金汉委托,作为她哥哥克拉伦斯的纪念碑。 “婚礼蛋糕”的设计出自建筑师爱德华·H·贝内特 (Edward H. Bennett) 之手,而喷泉的雕塑——包括代表密歇根湖沿岸四个州的四组 Art Deco-style 海马——由法国艺术家马塞尔·洛尤 (Marcel Loyau) 创作,他赢得了该项目在 1927 年巴黎沙龙上获得了国家大奖。

它应该有 3 个段落,但 firebase 输出是这样的:

白金汉喷泉是位于格兰特公园中心的芝加哥地标,位于皇后区和国会大道之间。它于 1927 年落成,是世界上最大的喷泉之一。格兰特公园皇冠上的明珠适合国王——字面意思。设计灵感来自法国凡尔赛宫为路易十五建造的华丽喷泉之一。它恰好是原来的两倍大小,使其成为世界上最大的喷泉之一。这个尺寸象征着附近密歇根湖的浩瀚,每分钟使用多达 15,000 加仑的水。在 dusk,白金汉喷泉栩栩如生。日落之后前往公园,每小时整点都会有一场壮观的灯光音乐表演。如果您白天到访,千万不要错过每小时 20 分钟的水上表演,喷泉的中央喷水器将水喷射到 150 英尺的高空。喷泉从 5 月到 mid-October 期间开放。白金汉喷泉于 1927 年向 public 开放,受狂热的艺术收藏家和慈善家凯特·斯特奇斯·白金汉委托,作为她哥哥克拉伦斯的纪念。 “婚礼蛋糕”的设计出自建筑师爱德华·H·贝内特 (Edward H. Bennett) 之手,而喷泉的雕塑——包括代表密歇根湖沿岸四个州的四组 Art Deco-style 海马——由法国艺术家马塞尔·洛尤 (Marcel Loyau) 创作,他赢得了该项目在 1927 年巴黎沙龙上获得了国家大奖。

@jnpdx 的回答是问题的解决方案:

 Text(viewModel.hotspot.info.replacingOccurrences(of: "[br]", with: "\n\n"))
  

然后转到您上传到 Firebase 的文章,然后将“[br]”放在您想要换行的地方,如下所示。

白金汉喷泉是位于格兰特公园中心的芝加哥地标,位于皇后区和国会大道之间。它于 1927 年落成,是世界上最大的喷泉之一。格兰特公园皇冠上的明珠适合国王——字面意思。设计灵感来自法国凡尔赛宫为路易十五建造的华丽喷泉之一。它恰好是原来的两倍大小,使其成为世界上最大的喷泉之一。这个尺寸象征着附近密歇根湖的浩瀚,每分钟使用多达 15,000 加仑的水。 [br]在 dusk,白金汉喷泉栩栩如生。日落之后前往公园,每小时整点都会有一场壮观的灯光音乐表演。如果您白天到访,千万不要错过每小时 20 分钟的水上表演,喷泉的中央喷水器将水喷射到 150 英尺的高空。喷泉从 5 月到 mid-October 期间开放。白金汉喷泉于 1927 年向 public 开放,受狂热的艺术收藏家和慈善家凯特·斯特吉斯·白金汉 (Kate Sturges Buckingham) 的委托,作为她哥哥克拉伦斯 (Clarence) 的纪念碑。 [br]“婚礼蛋糕”的设计出自建筑师爱德华·H·贝内特 (Edward H. Bennett) 之手,而喷泉的雕塑——包括代表密歇根湖沿岸四个州的四组艺术 Deco-style 海马——则出自法国艺术家马塞尔·洛尤 (Marcel Loyau) 之手,谁在 1927 年巴黎沙龙的项目中赢得了国家大奖赛。