对上一篇Swift中的as? 与 as!的补充
2016-01-13 17:50
363 查看
//AnyObject
相当于 id 类型
var myObject:AnyObject =
NSMutableDictionary()
myObject =
NSDate() //如果没有AnyObject会报错---每个变量在创建的时候类型就已确定
//as
强制转换
//这样写没有问题Date是一个可选类型
let date =
myObject as?
NSDate
print(date)
//Optional(2016-01-13 09:44:39 +0000)
//这样写没有问题Datee是一个强制拆包的可选类型
let datee =
myObject as!
NSDate
print(datee)
//2016-01-13 09:44:39 +0000
let futureDate = (myObject
as! NSDate).dateByAddingTimeInterval(-60)
print(futureDate)
//2016-01-13 09:44:54 +0000
//这样写是错误的,因为使用as?转换类型则代表为一个可选类型,而可选类型是不能直接操作的
//let futureDate = (myObject as? NSDate).dateByAddingTimeInterval(-60)
//print(futureDate)
相当于 id 类型
var myObject:AnyObject =
NSMutableDictionary()
myObject =
NSDate() //如果没有AnyObject会报错---每个变量在创建的时候类型就已确定
//as
强制转换
//这样写没有问题Date是一个可选类型
let date =
myObject as?
NSDate
print(date)
//Optional(2016-01-13 09:44:39 +0000)
//这样写没有问题Datee是一个强制拆包的可选类型
let datee =
myObject as!
NSDate
print(datee)
//2016-01-13 09:44:39 +0000
let futureDate = (myObject
as! NSDate).dateByAddingTimeInterval(-60)
print(futureDate)
//2016-01-13 09:44:54 +0000
//这样写是错误的,因为使用as?转换类型则代表为一个可选类型,而可选类型是不能直接操作的
//let futureDate = (myObject as? NSDate).dateByAddingTimeInterval(-60)
//print(futureDate)
相关文章推荐
- 窥探 Swift 之 函数与闭包的应用实例
- 关于swift中出现 use of undeclared type ***错误的一种解决方法
- swift NSArray(数组)
- iOS开发swift自定义AlertController弹出带有输入框后AertView
- iOS- Swift实现UITableView的常见操
- swift 用协议实现代理传值功能
- swift举例
- Swift基础--使用TableViewController自定义列表
- 菜鸟探究Swift中!与?的神秘
- Swift 的结构体
- 在OC和Swift中使用IBDesignable/IBInspectable
- Swift附属脚本
- Swift方法
- swift 如何实现点击view后显示灰色背景
- Swift属性
- Swift类和结构体
- Swift基础--手势识别(双击、捏、旋转、拖动、划动、长按)
- Swift枚举详解
- Swift闭包详解
- Swift函数(函数声明、函数参数和类型)