swift 基本语法2

一、循环  for  、 while 、do while(swift中没有do while 是 repeat while)

/*
   普通的for循环和oc中的一致
*/
for var i=0;i<10;i++
{
   print(i)
}

/*swift特色循环
  0..<10 代表一个区间范围 从0开始到9,包含头但是不包含尾
在swift 1.0时 0..10
*/
for i in 0..<10
{
  print(i)
}

/*
  _ 代表忽略,如果不关心某个参数,就可以使用_
  在swift开发中,使用_的频率非常高
*/
for _ in 0..<10
{
  print("base")
}
//0...10 代表一个区间范围 从0开始到10 包含头又包含尾
for _ in 0...10
{
  print("base")
}

/*
swift升级到2.0之后,do while发生了很大的变化
do while 没有do了,do被用作捕获异常
*/

var b = 0
repeat{
   print(b)
   b++
}while b<10

二、可选类型

var num = 10
if num == 5
{
  print("5")
} else
{
   print("10")
}

/*
  在oc中 if else 可以使用三目运算符来简写
注意:在swift中开发中三目运算符用的非常多
*/

let res = (num == 5) ? 5 : 10
print(res)

/*
可选类型:代表着可以有也可以没有 Optional ?
convenience init?
以后看到一个方法或者数据类型后面有 ?,就代表返回一个可选的数据类型

使用可选类型需要注意,如果直接打印了可选类型,那么直接打印出来的可选类型会被option包裹
!告诉编译器,可选类型中一定有值,强制解析
如果可选类型中没有值,却又进行了强制解析,就会crash
*/

let url = NSURL(string: "http://www.baidu.com")
print(url)
print(url!)

let url2 = NSURL(string: "http://www.百度.com")
print(url2)

//swift的用意就是让我们将大部分运行时的错误,都在编译时解决

if url != nil
{
   let request = NSURLRequest(URL: url!)
}

//可选绑定
//会将url中的值取出来赋值给urlFinal变量,如果值不为nil,那么就进入{}
if let urlFinal = url
{
   let request = NSURLRequest(URL: urlFinal)
}

三、数组

//和oc数组的区别就是去掉前面的@符号
let arr = ["base","xiuxiu"]

//swift中的数组可以存储任意类型
let arr2 = ["base",123,10.1]

//取值
arr2[0]
//遍历
for item in arr
{
   print(item)
}

//追加
var arr3 = ["base","xiuxiu"]
arr3.append("zy")

//删除
//swift中删除一个元素,会将被删除的元素返回
arr3.removeAtIndex(0)
arr3

//还有一个删除所有,需要注意一个容量的问题,如果传入true之后需要保持数组现有的容量,如果传入false则代表不保持当前的容量,所以一般情况下,如果删除了这个数组中的所有元素,但是后面还需要用到这个数据,建议传true,这样后面用到的时候就不用重新分配存储空间了

arr3.removeAll(keepCapacity: false)
//补充:容量是如何增加的? 是以当前容量的基数*2
arr3.append("base")
arr3.capacity
arr3.append("xiuxiu")
arr3.capacity
arr3.append("wlx")
arr3.capacity
arr3.append("zj")
arr3.capacity
arr3.append("tn")
arr3.capacity

//初始化
//在swift中如果一个变量没有初始化是不能被使用的

var arr4 = [String]()
arr4.append("zj")

//数组合并
var arr5 = ["base","123"]
let arr6 = ["xiuxiu"]

arr5 += arr6

//注意点:只有相同类型的数组才可以进行合并
//swift是强语言,不同的数据类型不能进行运算



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值