swif 中的 as? 和 as!

来源:互联网 发布:网络机柜布线 编辑:程序博客网 时间:2024/04/30 07:42

    as操作符用来把某个实例转型为另外的类型,由于实例转型可能失败,因此Swift为as操作符提供了两种形式:选项形式as?和强制形式as!
   选项形式(as?)的操作执行转换并返回期望类型的一个选项值,如果转换成功则返回的选项包含有效值否则选项值为 nil 强制形式(as! )的操作执行一个实例到目的类型的强制转换,因此使用该形式可能触发一个运行时错误。
下面一个例子:

 /**

     根据下标索引元素

     - parameter index: 下标

     

     - returns: 该下标对应的值

     */

    func fetchItem(_ index:Int) -> String? {

        ifindex < 0 {

            returnnil

        }

        

        returnlist[index] as?String   //函数返回一个String型。

    }