微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift学习一

var ap = Array(count:3,repeatedValue: 16)

var ad = Array(count:3,repeatedValue : 15)


var ac = ap + ad

println( ac )


let emptyDic1 = [:]

let emptyDic2 = Dictionary<String,Float>()


var airports = ["china":"shandong","jinan":"qingdao"]

println(airports)

/*

//add + delete

airports["china"] = "china international"

println(airports)


airports["usa"] = "ny"

println(airports)


//delete 1

airports["usa"] = nil

println(airports)


//delete 2

airports.removeValueForKey("china")

println(airports)



*/


//输出COUNT

println("airports count is "+String(airports.count))

println("airports count is \(airports.count)")


//bianli key

for key in airports.keys {

println(key)

}


//bianli value

for value in airports.values {

println(value)

}


// 把所有的key value 转换成数组再输出

let allkeys = Array(airports.keys)

let allvalues = Array(airports.values)


println(allkeys)

println(allvalues)


//元组

let (x,y) = (1,2)


println("x is \(x) and y is \(y)")


//********

let http404error = (404,"not found")

println(http404error)


//1

let (statusCode,statusMessage) = http404error //采用类型dictionary方式 通过key拿这个value

println("statusCode is \(statusCode) and statusMessage is \(statusMessage)")


//2

let (justthestatuscode,_) = http404error

println("justthestatuscode is \(justthestatuscode)")


//3

println("status code is \(http404error.0)")

println("message is \(http404error.1)")


let http200status = (statusCode: 200,desc:"ok") //左边是key 右边是value 赋给一个常量

println("the status code is\(http200status.statusCode) and the status message is \(http200status.desc)")


//可选类型 由于toint方法会失败 因此它会返回一个可选的int类型 而不同于int类型,一个可选的类型 返回的是一个int或者不存在


var serverResponseCode : Int? = 404

let possiblenumber = "123"

let convertednumber: Int? = possiblenumber.toInt()


var responsecode:Int? = 404 // 要么存在 且为404

responsecode = nil // 要么不存在 可以赋值为nil表示


//可选类型的niloc中的nil不一样 swiftnil不可用于非可选类型

//特定类型的值不存在 任何类型的可选类型都能赋值为nil 如果代码中的变量常量需要适配值不存在的情况,务必将他声明为可选类

//3.如果定义的【可选类型】的不提供认值,该对象自动设为nil 但是常量变量定义需要认值


// var strvalue = nir 不可以false错误

var strvalue:String? //default=nil


//let hashValue = strvalue?.hashValue //方法调用 ?是否响应后面的方法 存在就响应 不存在 就不响应 就不赋值给常量

println("hashvalue is \(strvalue?.hashValue)")



//解包!

let possiblestring:String? = "an optional string"

println(possiblestring!) //解包 我确定possiblestring的值确定存在


let stringValue = possiblestring!.hashValue //哈希值:hashvalue 必须解包 才能获取可选量的值

//or println(possiblestring!.hashValue)

println(stringValue)


//optional binding =上一行 好麻烦。。

if let svalue = possiblestring{

let stringvalue = svalue.hashValue

}


//隐式解包 后面用的时候不用加感叹号了!直接在定义的时候加感叹号


let assumestring : String! = "an lalalala"

println(assumestring)

println(assumestring.hashValue)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐