标签:
Swift 已经出来好久了,一直没有开始的学习,现在开始下定决定系统的学习一下。
任何一种语言的学习起步都是语法:
///1、 注意:let 修饰的是 不可变 var是可变
let maximumNumberOfLoginAttempts = 10;
var currentLoginAttempts = 0;
currentLoginAttempts = currentLoginAttempts + 1;
NSLog("maximumNumberOfLoginAttempts = %ld", maximumNumberOfLoginAttempts);
NSLog("currentLoginAttempts = %ld", currentLoginAttempts);
//2、类型标注:一般而言很少写标注 是根据初始值判断变量或常量类型
var welcomMessage: String
welcomMessage = "Hello"
print("welcomMessage = \(welcomMessage)")
//3、常量和变量的命名- 可以用任何字符作为常量和变量名(包括Unicode字符),但是常量和变量名不能包含数学符号、箭头、保留的(或者是非法的)Unicode码位、连线和制表符,也不能以数字开头,但是可以包含数字
//常量和变量不能互转--但是可以改变变量的值为同类型的值 && 常量的值一旦确定不可变,改变会导致变异错误
welcomMessage = "New Hello"
//3+++、注意swift的输出方法---
print("new welcomMessage = \(welcomMessage)")
// let languageName = "Swift"
// languageName = "OC" //编译出错!!!!
//4、元组 --可以把任意顺序的类型组合成一个元组,这个元组可以包含所有类型
let http404Error = (404,"Not Found")
print("http404Error = \(http404Error)")
//4.1 可以将一个元组的内容分解成单独的常量和变量
let (statusCode,statusMessage) = http404Error
print("statusCode = \(statusCode),statusMessage = \(statusMessage)")
//4.2 如果只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记
let(justCode,_) = http404Error
print("justCode = \(justCode)")
let(_,justMessage) = http404Error
print("justMessage = \(justMessage)")
//4.3 可以通过下标来访问元组中的单个元素,下标从零开始
print("the statusCode is \(http404Error.0),message = \(http404Error.1)")
//4.4 可以在定义元组的时候给单个元素命名,然后可以通过名字获取这些元素的值
let http200Status = (statusCode: 200,description:"OK")
print("http200Status = \(http200Status) \ncode = \(http200Status.statusCode),description = \(http200Status.description)")
//5、Optional 可选 ---所谓可选 就暗示了 可以“没有值”
let posssibleNumber:String = "123"
let possibleNotNumber = "123?"
let convertedNumber = Int(posssibleNumber)
let convertNotNumber = Int(possibleNotNumber)
print("posssibleNumber = \(posssibleNumber),possibleNotNumber = \(possibleNotNumber)")
print("convertedNumber = \(convertedNumber),convertNotNumber= \(convertNotNumber)")
//6、隐式解析可选
let possibleString:String? = "An optional string"
print("possibleString = \(possibleString)")
print("possibleString !!! = \(possibleString!)")
let assumedString:String! = "An implictitly unwraped optional string"
print("assumedString = \(assumedString)")
print("assumedString!!! = \(assumedString!)")
//7、断言
let age = -3
assert( age >= 0,"A person‘s age can‘t be less than zero")
//因为age < 0所以会断
/*
备注:
1、OC中的nil和swift的nil意思并不一样--OC中nil是以俄国指向不确定的对象指针,在swift中nil不是指针,它是一个确定的值,用来表示确实,任何类型的可选都可以被设置为nil,不只是对象类型
2、如果一个变量之后可能变成nil的话请不要使用隐式解析可选。如果你需要在变量的生命周期中判断是否是nil的话,请使用普通可选类型
3、断言的使用情形:
3.1:整数的附属脚本索引被传入一个自定义附属脚本实现,但是下标索引值可能太小或太大;
3.2:需要给函数传入一个值,但是非法的值肯能导致函数不能正常执行
3.3:一个可选值现在是nil,但是后面的代码运行需要一个非nil值
断言会导致程序终止运行,所以--可以快速定位问题,便于查找问题
*/
这是简单记录了一些个人觉得比较基础且常用的部分。
若有什么不对的地方,还是希望有人告知,谢谢!
参考来自:http://www.cocoachina.com/ios/20140612/8776.html
标签:
原文地址:http://www.cnblogs.com/lisaloveyou1900/p/5016926.html