跳转至

类型判断

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")
}