xcode 从JSON文件中提取时,SwiftUI中的字符串变量未正确显示

jk9hmnmh  于 2023-05-19  发布在  Swift
关注(0)|答案(2)|浏览(162)

我正在使用JSON文件将数据导入到我的应用程序中。我的JSON文件有一个字符串属性,如下所示

"story": "Cristoforo Colombo [nasce](myappurl://action?word=nasce) nel 1451 vicino a Genova, nel nord Italia. A 14 anni [diventa](myappurl://action?word=diventa) marinaio e viaggia in numerosi Paesi. Per Cristoforo Colombo la Terra è rotonda e verso la fine del ‘400, vuole viaggiare verso l’India e vuole farlo con un viaggio verso [ovest](myappurl://action?word=ovest). La [spedizione](myappurl://action?word=spedizione) è costosa e Colombo prima chiede aiuto al re del Portogallo e poi alla regina Isabella di Castiglia. Nel 1492, dopo mesi di navigazione, [scopre](myappurl://action?word=scopre) però un nuovo continente: l’America, che viene chiamata il Nuovo Mondo. Cristoforo Colombo fa altri viaggi in America ma ormai non è più così amato e così [muore](myappurl://action?word=muore) nel 1506 povero e [dimenticato](myappurl://action?word=dimenticato) da tutti.",

我使用的是内联超链接。"nasce"在我的文本中形成可点击的链接,一旦它显示在Xcode中。
在我的应用程序中,数据都是从JSON文件正确加载的。我去输入上述字符串到文本视图,简单的只是文本(mySampleString)和文本显示在应用程序上,但没有链接。”[10]“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”““”“”“”““”“”“”““”“”“”不起作用,而是显示“nasce”的文字字符,而不是超链接。
我相信我的JSON数据的格式是正确的,因为如果我从JSON文件中复制字符串,并直接将其传递到Text()参数中,那么链接就可以正常工作。
有办法解决吗?还是swiftui只是不允许以这种方式形成超链接?

r8xiu3jd

r8xiu3jd1#

确保您在iOS 15及更高版本中运行代码。它将工作没有问题尝试下面的代码

if #available(iOS 15, *) {
   Text(.init(storyDesc))
}

输出供您参考:

qlzsbp2j

qlzsbp2j2#

你可以尝试使用AttributedString,例如:

Text(try! AttributedString(markdown: mySampleString))

为了方便起见,您可以将其放在函数中。

相关问题