使用 Swift 2.1.1 解析 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),您可能会发现会出现错误,并且您可能应该重新考虑字典键的类型。

相关内容

  • 没有找到相关文章

最新更新