标签:ios swift optional autolayout 斯坦福大学公开课
1.详解IOS编程的四个层
①cocoa touch层
这是我们最长用到的层,里面最长用到的当然是最基础的控件
②媒体层(Media)
③核心服务层
④核心操作系统层
2.新建一个Swift的IOS工程
①打开Xcode,按照图示新建一个工程
②选择Application 然后 单击Sigle View Application。
③按照如图所示,填写相应的栏目。
company
identifier的值 + product name的值 = bundle identifier in App ID
④设置项目工程的保存路径:
⑤这样新建一个项目就结束了,so easy :]
3.搭建界面
①单击 Main.storyboard进入故事版界面。我们可以看见故事版上有一个View Controller,那个就是进行界面设置的地方。
②将一个Label控件拖拽到Controller中
③调整Label的大小,内容和位置。调整位置和大小的时候,尽量依靠蓝色的虚线。
④选择模拟器为IPhone6,然后运行程序。
⑤可以发现模拟器中并未没有Label控件。
⑥通过Hardware中的Rotate
Left来旋转模拟器,发现Label出现。
4.autoLayout(自动布局)初探
①先进行Label右边框的约束
选择其中的Trailing
Space to Controller Margin,决定了Label的右侧和Controller右侧的距离
②进行Label顶部与 Controller顶部的约束
③Label的左侧与Controller左侧之间的约束
④根据以下操作,修改Controller中的警告。
⑤此时可以看到不管我们如何变换模拟器,0的位置总是不变
3.通过使用代码来实现相应的逻辑
①Xcode自动会生成一个ViewController类,它继承自UIViewController。里面重载了父类的两个方法,现在不需要,我们将它删除。
②按照如图所示,单击Show the Assistant editor显示代码和storyboard。
③拖拽label控件,到代码编辑框中,出现蓝色的横杠,然后松开鼠标。
④弹出如图所示的对话框,在Name中输入display,然后点击Connet表示连线成功。
⑤然后我们在往storyboard中添加UIbutton控件。
将UIbutton连线到代码区,松开鼠标。弹出如下所示的对话框。然后我们设置Connection为Action,表示这次是个方法。在Name中输入appendDigit。然后单击Connect
然后我们设置UIbutton的属性,以及位置
⑥然后我们通过复制和粘贴,迅速布局一个简单的计算器。(复制不仅仅会复制控件的样式,而且其相关联的属性和方法也会一样关联)
⑦相应的逻辑代码:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
//var:定义一个变量 变量类型从右边推导而来
var userIsInTheMiddleOfTypingANumber = false
@IBAction func appendDigit(sender: AnyObject) {
//let是用来定义一个常量,常量类型从右边推导而来
//sender.currentTitle用来获得当前单击按钮的标题
let digit = sender.currentTitle!!
//println用来输出字符串,\()用来包含相应的变量
println("digit = \(digit)")
//用来判断是不是第一次输入数字
if(userIsInTheMiddleOfTypingANumber) {
//不是第一次输入数字,就将当前输入的数字拼接在Label的text
display.text = display.text! + digit
} else {
//如果是第一次输入数字,就直接赋值给Label的text
display.text = digit
//如果首次输入的数字为不为0,修改为true
if(digit != "0") {
userIsInTheMiddleOfTypingANumber = true
}
}
}
}
*let用来定义常量(const),常量定义之后就不可以改变。一定要初始化,不初始化会报错。
*var用来定义变量,一定要初始化,不初始化会报错。
*swift语言有类型推导,定义的变量或者常量的类型通过右边的值来决定。
*\()用来在字符串中包含 相应的变量或者常量
* optional Type:这种类型的值有两种状态,一种是无值(nil),一种是有值。
也就是,Optional类型允许变量没有值,其它类型如果没有初始化值在使用时会报错 。
optional 在有值得时候,值的类型是由 ?左边的值得类型来决定。可以通过!来解包取得相应的类型。
optional类型的值不可以用于右值!!!!
*按住option键点击相应的变量,来查看文档。
Swift之旅:1.概述-用Swift实现一个简单的计算器
标签:ios swift optional autolayout 斯坦福大学公开课
原文地址:http://blog.csdn.net/supersonico/article/details/46488749