使用 Swift 2.1.1 解析 TMX 文件时出错
Error Parsing TMX file with Swift 2.1.1
在将我的 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 func并更改一些语法。现在在函数中可以访问变量 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
),您可能会发现出错,您可能应该重新考虑您的字典键的类型。
在将我的 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 func并更改一些语法。现在在函数中可以访问变量 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
),您可能会发现出错,您可能应该重新考虑您的字典键的类型。