专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Swift

Swift之旅:1.概述-用Swift实现一个简略的计算器

发布时间:2011-06-30 07:25:38 文章来源:www.iduyao.cn 采编人员:星星草
Swift之旅:1.概述-用Swift实现一个简单的计算器

学习所用到的资源:

斯坦福大学公开课:iOS 8开发

网易空开课地址链接:斯坦福大学公开课:IOS8开发
github上字幕链接字幕
百度网盘资源下载链接百度网盘

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键点击相应的变量,来查看文档。



1楼woshizhuchonga21分钟前
喔啊
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: