类型判断¶
dart¶
加圆角的时候,网络图片,使用as
强转。
// 通过主页面的私有方法跳转,减少重复
if (mainContext is StatefulElement && mainContext.widget is Details) {
(mainContext as StatefulElement).state as _DetailsState
.._navigateToAccTabBar(context);
}
swift¶
is
:判断对象是否是某个类型。
as
:表示对象是某种类型。
if navigationController is HHNavigationController {
(navigationController as! HHNavigationController).forbiddenBack = true
}
as!¶
向下强制类型转换,如果转换失败会报错
class Auto {}
class Car: Auto {}
let auto: Auto = Car()
let car = auto as! Car
as?¶
as?在转换失败之后会返回nil对象,转换成功之后返回一个可选类型(optional),需要我们拆包使用。
let auto: Auto = Car()
if let car = auto as? Car {
print("这是Car")
}
else {
print("这不是Car")
}