0
我有检查如果XML元素有欲望的标签或者没有问题空:EXC_BAD_INSTRUCTION错误检查,如果XML元素中迅速
我写了类似下面我的代码:
//checking if link is empty
if xml["rss"]["channel"]["item"][index]["source"].element!.attributes["url"] != "" {
Link = (xml["rss"]["channel"]["item"][index]["source"].element?.attributes["url"])!
} else {
Link = ""
}
当我运行此代码我得到的错误:Thread3 EXC_BAD_INSTRUCTION
,为我的第一行代码,但是当我运行的代码象下面这样: 它经历,如果,不明白,源元素根本不存在! 代码:
//checking if link is empty
if (xml["rss"]["channel"]["item"][index]["source"].element?.attributes["url"] as String?) != nil {
Link = (xml["rss"]["channel"]["item"][index]["source"].element?.attributes["url"] as String?)!
} else {
Link = ""
}
如何,如果源元素在SWIFT 2存在或不检查?
FullCode:
let xml = SWXMLHash.parse(data)
//one root element
let count = xml["rss"]["channel"]["item"].all.count
print(count)
var Name = ""
var Image = ""
var Link = ""
var Time = ""
for var index = 0; index < count; index++ {
Name = xml["rss"]["channel"]["item"][index]["title"].element!.text!
Image = (xml["rss"]["channel"]["item"][index]["description"]["img"].element?.attributes["src"])!
//checking if time is empty
if let check_time = xml["rss"]["channel"]["item"][index]["pubDate"].element?.text! as String? {
Time = check_time
}else{
Time = ""
}
//checking if link is empty
if let element = xml["rss"]["channel"]["item"][index]["source"].element?.attributes["url"] as String? where element != "" {
print("salalalalam")
print(Link)
Link = element
} else {
Link = ""
}
感谢答案,但我知道,我想知道的是我有更好的方法来检查,如果该元素是存在或不! – anonymox
条件可选绑定,因为你在我的例子中看到的是答案... – user3441734
如果你只是需要知道元素是否存在,根本就不使用绑定的where(条件部分)。 – user3441734