我正在使用 SWXMLHASH Swift 库来解析一些第 3 方 XML 数据。此数据有时会返回对我的应用程序无效的值。发生这种情况时,我希望忽略这些数据并返回nil
而不是Self
在我的deserialize
函数中。
例如,我有一些这样的 XML:
<Root>
<ColourChanges>
<ChangeCount>0</ChangeCount>
<ChangeItems></ChangeItems>
</ColourChanges>
</Root>
我希望能够测试 ChangeCount 值,如果它等于 0,我希望能够在我的 ColourChanges 结构nil
的函数中返回。deserialize
看来,当我deserialize
如下定义我的函数时:
static func deserialize(_ node: XMLIndexer) throws -> ColourChanges?
我收到一个运行时错误,抱怨deserialize
实现不存在。
deserialize
我相信当我遇到不需要的值并在调用者中处理它时,我可以通过从我的结构的方法中抛出来处理这个问题,但是,如果我可以只返回它会更干净nil
。
有没有人遇到过类似的问题,或者对如何实现这一点有任何建议?
谢谢你的帮助。