var=variable代表变量的意思
let代表的含义是后面的对象是常量,在ios里面不需要用大小写来代表是常量还是变量,这里用简单的小写字母即可。
option+click可以查看类或者变量,常量的具体情况。。可以查看某个变量或者常量的类型等等,也可以查看API文档等等
optional代表“未设”,特征是有?例如button.currentTitle代表的值是optional string类型的,而不是string类型的
但是通常需要的不是optional的值。
那么要想获取string类型的值,需要crash即解包操作,只需要通过一个!即可进行解包操作
button.currentTitle! 就可以得到string类型的值。。。。
代码示例:
@IBOutlet weak var display: UILabel!
var userIsInTheMiddleOfTypingANumber=false
@IBAction func appendDigit(sender: UIButton) {
let digit=sender.currentTitle!
if userIsInTheMiddleOfTypingANumber{
display.text=display.text!+digit
}else{
display.text=digit
userIsInTheMiddleOfTypingANumber=true
}
display.text=display.text! + digit
print("digit=\(digit)")
}
编辑器自动生成的代码里面例如 UILabel!后面是自动添加!的,这代表它是已经被解包的,可以方便的供我们使用,当然笔者现在还不太明白在什么情况下要使用optional类型的值。。 在这里先这样记住吧。。
swift代码是需要初始化的,那么这里为什么display这个按钮没有被初始化呢,最起码在这里是看不出来的!错了!像UILabel这种比较系统的关键字,系统是自动已经为我们初始化好了!所以我们不用再另外初始化,当然如果另外初始化的话是没有问题的。。例如:
@IBOutlet weak var display: UILabel !=nil这个是完全可以的,但是也没有必要。。。
那么如果我们将UILabel后面的!改为?的话会怎样呢?
下面的代码将会出现一系列错误,会提示需要解包操作,那么如果解包的话就在后面加上一个!即可。。。
当我们粘贴复制一个按钮的时候,会同样复制他得action事件,可以通过右键按钮来查看其事件,也可以通过代码中得小圆点确认
swift是一种强类型代码,但是有推测功能,不需要直接表明变量类型,他会自动根据后面的代码来推测前面变量的类型
var i=3.0会默认为double类型
var s="hello"会默认为string类型