swift - 使用 Swift 2.1.1 解析 TMX 文件时出错

标签 swift parsing swift2 tmx

在将我的 Xcode 项目转换为 Swift 2 之前,我使用以下函数来解析我的 TMX 级别文件。它提供了一个在函数中使用的变量 attributeDict。

func parser(parser: NSXMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [NSObject : AnyObject]) {

// my function code

}

转换为 Swift 2 后(我现在使用的是 2.1.1),系统提示我将其更改为 @objc 函数并更改一些语法。现在,在函数内可以访问变量 attributeDict 的地方,现在未创建该变量,从而留下了许多错误

@objc func parser(parser: NSXMLParser, didStartElement elementName: String?, namespaceURI: String?, qualifiedName qName: String?, attributes: attributeDict<NSObject,AnyObject>) {

// my function code

}

我肯定错误地更改了语法,但无法从文档中找出我做错了什么。希望对其他人来说是显而易见的。任何帮助将不胜感激。

最佳答案

转换修改了 attributeDict 的声明。将其更改回之前的样子:

attributes attributeDict: [NSObject : AnyObject]

请注意,如果不允许使用 NSObject 作为字典的键(字典键必须符合 Hashable)并且您可能会发现错误也许应该重新考虑字典键的类型。

关于swift - 使用 Swift 2.1.1 解析 TMX 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35333955/

相关文章:

swift - 更新 cocoapods 会导致文件丢失。

ios - 聊天 TableView 单元格 : A UIView, 其大小应取决于较大的包含标签

java - 如何在java中将十六进制字符串转换为long?

c - 当一个值用双引号引起来时,如何使用 sscanf 从 C 中的字符串中解析三个值?

ios - 嵌入YouTube视频时出现自动布局问题

ios - 在 swift 2.0 中允许用户播放背景音乐

ios - 从firstFile.swift/viewController 调用secondFile.swift/viewController 中的函数?

ios - SetValue 未按预期运行

从 URL 字符串解析和检索值的 Python 代码

swift - 如何让 Nil Coalescing 运算符处理闭包?