Swift-基础-7
2016-06-21 11:21
387 查看
importFoundation
print("Hello, World!")
//39、使用可选链式调用代替强制展开
//当声明一个的属性时,将属性类型设置为可选类型:好处:当可选类型的属性被赋予初始值时,系统调用初始值;当可选类型属性没有赋予初始值时,系统只会调用失败,如果强制展开就会崩溃;如果属性为一般类型,则必须赋予初始值
structPoint {
varwidth :Int=0
}
classPerson {
varname :String=""
varage :Int?
//
varpo :Point?
}
varperson1 =Person.init()
person1.name="sfsd"
print(person1.name)
print(person1.age)
//print(person1.po!.width)
person1.po=Point.init()
person1.po?.width=1000
print(person1.po?.width)
/*********40、类型匹配*********/
//1.检查类型 is
vararray = [1,2,"10","68",7,10]
varstrNum =0
varintNum =0
foriinarray{
ifiisInt{
intNum+=1
}
ifiisString{
strNum+=1
}
}
print(intNum,strNum)
//2.向下转型as?或as!
//NSMutableArray NSArray Array
vararr =NSMutableArray.init(capacity:0)
arr.addObject(1)
arr.addObject(2)
letarr2 =arrasNSArray
letarr3 =arr2asArray
print(arr3)
print(arr2)
//3.Any和AnyObject:
//a.AnyObject可以表示任何类类型的实例。
//b.Any可以表示任何类型,包括函数类型。
vararray6 : [AnyObject] = [1,2,3,4,"io"]
print(array6)
/*************41、扩展*********/
//1.扩展语法 extension
extensionInt{
//2.属性扩展
vara :Int{
returnself*10
}
//3.方法扩展
funcage() ->Void{
print("age")
}
}
//使用扩展
varss :Int=5
print(ss)
print(ss.a)
ss.age()
//如果给父类进行扩展,子类同样可以获取到
classStudent {
varname =""
}
classXiao:Student{
varage =2
}
extensionStudent{
funceat() ->Void{
print("eat")
}
}
varstu =Student.init()
stu.eat()
varxiao =Xiao.init()
xiao.eat()
print("Hello, World!")
//39、使用可选链式调用代替强制展开
//当声明一个的属性时,将属性类型设置为可选类型:好处:当可选类型的属性被赋予初始值时,系统调用初始值;当可选类型属性没有赋予初始值时,系统只会调用失败,如果强制展开就会崩溃;如果属性为一般类型,则必须赋予初始值
structPoint {
varwidth :Int=0
}
classPerson {
varname :String=""
varage :Int?
//
varpo :Point?
}
varperson1 =Person.init()
person1.name="sfsd"
print(person1.name)
print(person1.age)
//print(person1.po!.width)
person1.po=Point.init()
person1.po?.width=1000
print(person1.po?.width)
/*********40、类型匹配*********/
//1.检查类型 is
vararray = [1,2,"10","68",7,10]
varstrNum =0
varintNum =0
foriinarray{
ifiisInt{
intNum+=1
}
ifiisString{
strNum+=1
}
}
print(intNum,strNum)
//2.向下转型as?或as!
//NSMutableArray NSArray Array
vararr =NSMutableArray.init(capacity:0)
arr.addObject(1)
arr.addObject(2)
letarr2 =arrasNSArray
letarr3 =arr2asArray
print(arr3)
print(arr2)
//3.Any和AnyObject:
//a.AnyObject可以表示任何类类型的实例。
//b.Any可以表示任何类型,包括函数类型。
vararray6 : [AnyObject] = [1,2,3,4,"io"]
print(array6)
/*************41、扩展*********/
//1.扩展语法 extension
extensionInt{
//2.属性扩展
vara :Int{
returnself*10
}
//3.方法扩展
funcage() ->Void{
print("age")
}
}
//使用扩展
varss :Int=5
print(ss)
print(ss.a)
ss.age()
//如果给父类进行扩展,子类同样可以获取到
classStudent {
varname =""
}
classXiao:Student{
varage =2
}
extensionStudent{
funceat() ->Void{
print("eat")
}
}
varstu =Student.init()
stu.eat()
varxiao =Xiao.init()
xiao.eat()
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- iOS App开发中的UISegmentedControl分段组件用法总结
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题