swift可选链和类型转换
来源:互联网 发布:iphone库存软件 编辑:程序博客网 时间:2024/06/11 02:21
/**
可选链是swift特有的语法格式。如果有值就返回值,没有就返回nil。
当可选值为空时,可选链即刻失败
可怜的使用就是在可选属性调用的时候,前面加上if如果有的话就执行代码,else在里面执行没有值时的代码。
*/
class Person {
var city:City?
}
class City {
var cityName:String?
var cityCountry = "中国";
func cityInfo(){
print("这是一个好地方");
}
}
let xiaoming = Person();
if let cityName = xiaoming.city?.cityName{
print("\(cityName)");
}else{
print("没有cityName");
}
if let cityCountry = xiaoming.city?.cityCountry{
print("\(cityCountry)");
}else{
print("没有cityCountry");
}
if xiaoming.city?.cityInfo() != nil {
print("可以进行城市介绍");
}else{
print("无法进行城市介绍");
}
/**
类型转换。
【1】子类的对象赋值为基类。
var XX:UIScrollView = UITableView()....
【2】类型检查。
如果判断一个对象是不是牟恩子类的对象,使用 "is"关键字
var bool = h is XX( true or false)
【3】类型转换
有时需要子类中独有的方法或者属性时,还是需要将该对象作为子类对象来使用的。这里就需要强制转换。
在对使用父类声明的对象进行类型转换的时候,需要使用 “as”关键字
var hero = h as Hero (Hero是子类 h 是通过父类创建出来的。)
但是如果类型转换失败,因为本身就不属于这种类,就会错误。
这时引入新的关键字“as?”
var m = h as? Hero (不确定h的具体类型。)
*/
/**
如果一个数组存放很多对象。同时类型不确定。可以使用Any AnyObject
Any表示任何数据类型。 包括基本数据类型或者类的对象。
AnyObject表示任何对象。不包括Int,Long,Float,Double等类型
*/
_ = Array<Any>();
- swift可选链和类型转换
- Swift-可选类型和可选链
- Swift的可选链,类型转换和扩展
- Swift 可选类型 ?和!
- 【swift 学习】第二课---类型转换,类型别名,元祖,可选类型,可选绑定,断言
- swift语言-可选类型
- Swift:可选类型(Optional)
- Swift-Optional(可选类型?!)
- swift 之可选类型
- swift之可选类型
- Swift 可选类型
- swift可选类型
- Swift笔记:可选类型
- Swift - 可选类型
- Swift-可选类型
- swift可选类型
- swift-可选类型
- Swift 可选类型
- SQL实现循环每一行做一定操作。
- 二叉搜索树-BST-查找算法-插入算法-删除算法 http://www.cnblogs.com/pangxiaodong/archive/2011/08/24/2151060.html
- 多线程问题与double-check小结
- css层叠样式详解
- 代码混淆详解
- swift可选链和类型转换
- Geometry类详解
- 6.11虚基类
- VS2010和QT中编码不一样
- 2014.7.23 内存分析_栈_堆_栈帧
- 一个简单的小程序演示Unity的三种依赖注入方式
- 实现多国语言的几个小知识
- EasyUI常见几种控件动态渲染的示范代码
- 【技♂巧】bzoj1257余数之和