Swift_基础

数据类型

  • 变量与常量
    //变量声明使用var
    var str = "hello"
    var age=20, name:String="xiaoming"
    //常量声明使用let
    let world = "world"
    
    // \(变量) 占位符
    println("her name is \(name)")
  • 数据类型
    //Int 与平台有关,对应的 Int32, Int64
    let oneMillion = 1_000_000 //下划线分割,可有可无

    // 数据类型不支持隐式转换
    var width:Float = 2.1
    var height:Double = 3.9
    
    var area1 = width * Float(height)
    var area2 = Int(width) * 4
  • 类型别名
    typealias Age = UInt16
    let myAge:Age = 10
  • 元组
    var score = (140, 140, "优秀")
    
    print(score.0) //下标取值
    
    var health : (Int, Int, String)
    health = (182, 78, "良好") //赋值必须为所有成员变量赋值
    
    var test:(Int, (Int, String))
    test = (10, (100, "Swift"))
  • 可选类型
    任何已知类型后面紧跟?即可表示“可选类型”,表示值缺失的情况

      var string = "hello"
      var num:Int? = string.toInt()
      println(num!)//num 为nil,值缺失
    
  • 强制解析
    在变量或者常量后面加!, 必须可选类型的变量和常量确有值时才能解析成功

      var num1:Int? = 10
      var num2:Int? = 20
      if num1 != nil && num2 != nil {
          let sum = num1! + num2!
      } else {
      }
    
  • 可选绑定
    可有用if 和while 语句中对可选类型的值进行判断并把值赋给一个常量或变量

      var str3:String! = "Swift"
      if var temp = str3 {
    
      } else {
          println("str3 的值为nil 不能解析")
      }
    
  • 隐式解析
    在已有类型后面加!,被赋值后不会重新变为nil

      var str4:String! = "hello"
      println(str4)
    

数组、字典

1.都用[]

2.空数组 和 空字典

var emptyArray = String (或者 Array() )

let emptyDictionary = Dictionary()

或者

var emptyArr:String[] = []

或者

var emptyArray = Array([]) //用数组创建数组

对于已知类型的字典可用[:]置空

var arr = [] //直接这样写arr是个空的NSArray

3.确定长度和默认值的数组

var threeDoubles = Double[](count: 3, repeatedValue: 0.0)

4.用只读属性count来读取数组和字典的长度

5.用属性isEmpty检查数组的长度是否为0

6.往数组追加元素

emptyArray.append("one")

emptyArray += "two"

emptyArray += [ "three" , "four" ]

emptyArray.insert("zero" , atIndex:0)

7.从数组中删除元素

let lastElement = emptyArray.removeLast() //删除最后一个

let indexElement = emptyArray.removeAtIndex(3) //按索引删除

emptyArray[0...2] = [] //区间元素替换

  1. 遍历数组

for (index, value) in enumerate(emptyArray) {

println("Item (index): (value)")

}

  1. 给字典增加元素

emptyDictionary["zero"] = 0

if let oldValue = emptyDictionary.updateValue(1, forKey: "one") {

println("The old value for key:one was \(oldValue).")

} //增加或更新元素

10.移除字典元素

emptyDictionary["zero"] = nil

let oldValue = emptyDictionary.removeValueForKey("one")

emptyDictionary.removeAll()

11.遍历字典

for (key, value) in dic {

 println("\(key): \(value)")

}

12.获取字典的keys和values

let keys = Array(dic.keys)

let values = Array(dic.values)

13.数组的copy方法

通过调用数组的copy方法来完成强制拷贝。这个方法将会完整复制一个数组到新的数组中。

14.数组的unshare方法

如果多个变量引用了同一个数组,可以使用unshare方法来完成一次“独立”

你可能感兴趣的:(Swift_基础)