gpt4 book ai didi

Swift 深 NSObjects 不编译

转载 作者:行者123 更新时间:2023-11-28 12:50:51 28 4
gpt4 key购买 nike

在 Swift 中,我试图实现一个单词 Trie,使用文字表示作为一系列嵌套的 NSObject。这是 Trie。

let GEENITRIE:NSObject = [
"i":[
"need":[
"tutoring":[
"in":[
"**ARG**":"{courserequest}"]],
"a":[
"tutoring":[
"session":[
"in":[
"**ARG**":"{courserequest}"]]]]],
"want":[
"tutoring":[
"in":[
"**ARG**":"{courserequest}"]]],
"would":[
"like":[
"tutoring":[
"in":[
"**ARG**":"{courserequest}"]]]]],
"tutoring":[
"in":[
"**ARG**":"{coureserequest}",
"and":[
"**ARG**":"{doublecourse}"]],
"at":[
"**ARG**":"{timeparse}"]],
"a":[
"tutoring":[
"session":[
"in":[
"**ARG**":"{courserequest}"],
"at":[
"**ARG**":"{timeparse}"]]]]]

但是,当我用我的命令行应用程序的其余部分编译它时,大约需要 26 秒,然后出现以下错误:Error:(23, 26) expression was too complex to be solved in reasonable时间;考虑将表达式分解为不同的子表达式

为什么会发生这种情况,最好的实现方式是什么,以免发生这种情况?

最佳答案

发生这种情况是因为 Swift 编译器必须弄清楚该表达式的真实类型,而弄清楚它可能需要很长时间。

您应该将数据移动到 JSON 格式的文件中:

 {
"i":{
"need":{
"tutoring":{
"in":{
"**ARG**":"{courserequest}"}},
"a":{
"tutoring":{
"session":{
"in":{
"**ARG**":"{courserequest}"}}}}},
"want":{
"tutoring":{
"in":{
"**ARG**":"{courserequest}"}}},
"would":{
"like":{
"tutoring":{
"in":{
"**ARG**":"{courserequest}"}}}}},
"tutoring":{
"in":{
"**ARG**":"{coureserequest}",
"and":{
"**ARG**":"{doublecourse}"}},
"at":{
"**ARG**":"{timeparse}"}},
"a":{
"tutoring":{
"session":{
"in":{
"**ARG**":"{courserequest}"},
"at":{
"**ARG**":"{timeparse}"}}}}}

然后在运行时加载它:

let jsonUrl = NSBundle.mainBundle().URLForResource("data", withExtension: "json")!
let jsonData = NSData(contentsOfURL: jsonUrl)!
let tree = try! NSJSONSerialization.JSONObjectWithData(jsonData, options: [])

关于Swift 深 NSObjects 不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36582929/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com