【问题标题】:Swift - Cast from [SKNode] to unrelated type 'String' always failsSwift - 从 [SKNode] 转换为不相关的类型“字符串”总是失败
【发布时间】:2015-05-18 07:17:15
【问题描述】:

我是 Swift 语言的初学者,目前我正在开发一些应用程序(游戏)。 但是我在将 AnyObject 转换为 String 或其他时遇到问题,它总是给出警告“从 [SKNode] 转换为不相关的类型 'String' 总是失败”

这是我的代码

var facets = [AnyObject]()
init () {
        facets = [
            [
                "id": "1",
                "lang": ["id": "Memori", "en": "Memory"]
            ],
            [
                "id": "2",
                "lang": ["id": "Kecepatan Berpikir", "en": "Speed"]
            ],
            [
                "id": "3",
                "lang": ["id": "Fungsi Eksekutif", "en": "Control"]
            ],
            [
                "id": "4",
                "lang": ["id": "Konsentrasi", "en": "Attention"]
            ],
            [
                "id": "5",
                "lang": ["id": "Pemecahan Masalah", "en": "Problem Solving"]
            ]
        ]
    }

func findFacetUsingId(id: String?) -> String? {
        if let id = id {
            for value in facets {
                var facet_id: String = value["id"] as! String
                if id == facet_id {
                    var names: Dictionary<String, String> = value["lang"] as! Dictionary<String, String>
                    return names[Lang.ID]
                }
            }
        }

        return nil
    }

这里是截图,

顺便说一句,我使用这段代码时成功了

var facet_id: String = value.objectForKey("id") as! String

而不是

var facet_id: String = value["id"] as! String

但是App要慢(非常非常慢)

提前谢谢你

【问题讨论】:

    标签: swift sknode


    【解决方案1】:

    实际上,只要稍作改动,您的代码就可以工作:

    func findFacetUsingId(id: String?) -> String? {
      if let id = id {
        for value in facets {
          var facet_id: String = value["id"] as! String
          if id == facet_id {
            var names: Dictionary<String, String> = value["lang"] as! Dictionary<String, String>
            return names["id"]
          }
        }
      }
    return nil
    }
    

    【讨论】:

    • 对不起,我忘了解释“Lang”类,它会根据首选语言返回“en”或“fr”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多