<分区>
是否有一种“安全”的方式来编写此代码以防止运行时错误?
for posts in resultsArray as! [AnyObject] {
//do stuff
}
我觉得 if-let 或 guard 语句在这里可以工作,我不确定如何使用 for-in 循环使其工作。
<分区>
是否有一种“安全”的方式来编写此代码以防止运行时错误?
for posts in resultsArray as! [AnyObject] {
//do stuff
}
我觉得 if-let 或 guard 语句在这里可以工作,我不确定如何使用 for-in 循环使其工作。
最佳答案
as
用于向上转换和类型转换为桥接类型as?
用于安全转换,如果失败则返回 nilas!
用于强制转换,如果失败则崩溃安全向下转型
for posts in resultsArray as? [AnyObject] {
//do stuff
}
posts
将是 AnyObject? 类型的变量。如果底层类型不是它会无害地只是分配 nil
。
不安全的向下转型
for posts in resultsArray as! [AnyObject] {
//do stuff
}
这也会导致帖子类型为 AnyObject?,但如果基础类型为其他类型,它会崩溃
。
关于ios - 强制向下转型的安全方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36342006/