上传到 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 年巴黎沙龙的项目中赢得了国家大奖赛。
我已经检查过 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 年巴黎沙龙的项目中赢得了国家大奖赛。