在这样的函数中:
func getMessageDetails()->URL{
if let theLinks = theMessage.links as? [[String:String]]{
let thisLink = theLinks[3]["Href"]
let url = URL(string: thisLink)
return url!
}
return nil// is unacceptable, what should I put here?
}
我应该在关闭之外返回什么?
答案 0 :(得分:0)
在这种情况下,最好的解决方案是返回一个可选的URL,如果链接不是有效的URL,它也可以处理这种情况。您应该检查thisLink
数组是否包含超过3个项目以避免超出范围的异常:
func getMessageDetails() -> URL? {
if let theLinks = theMessage.links as? [[String:String]],
theLinks.count > 3,
let thisLink = theLinks[3]["Href"] {
return URL(string: thisLink)
}
return nil
}