swift私人笔记本——上手的小程序(3)

                                              把语言化为行动,比把行动化为语言困难得多。 —— 高尔基

———————————————————————————————————————————

第三部分  上手的小程序

另附链接:这是一些基本的动作用法(自己下载在电脑上运行)

百度云链接:http://pan.baidu.com/s/1pK8BUbT

另外:这是10个开发教程建议先自己做一遍然后再理解,哪些语句实现什么功能。最后,自己改写。

链接来了:http://www.oschina.net/translate/best-swift-tutorials-with-examples

(1)Hallo  world 

这是程序员基础一个语言时第一个程序,哈哈,现在看到这个都觉得亲切。

 

     import Foundation   

     var str = "HelloWorld"       

     print(str)         

   

第一句:import Foundation

表示引入Foundation框架。什么是Foundation框架?

Foundation是OS X和iOS应用程序开发的基础框架,它包括了一些基本的类,如数字、字符串、数组、字典等。

Cocoa框架是OS X开发需要几本框架它包括:AppKit和Foundation框架。UIKit框架是iOS图形用户界面开发需要框架,包括常见的视图和视图控制器等。

第二句:var str ="Hello World"

声明str变量,var表示声明变量。

第三句:print (str)

print(_:)是一个函数,能够将变量或常量输出到控制台。

(2)计算器

简单版

首先你要选择新建一个项目(即第二项):

主要程序ViewController.swift(主要代码实现要写在 XX.swift文件中)内容如下:

 

设计的界面图:

这是计算结果:

有难度版:主要程序ViewController.swift

import UIKit

extension String

{

    // subscript operator override

    subscript(index:Int) -> Character?

    {

        var cur = 0

        for c in self {

            if cur == index {

                return c

            }

        }

        // return nil

        let ret:Character?

        return ret

    }

}

 

 

class ViewController: UIViewController {

    var operand1: Int = 0;                             // left operand

    var operand2: Int = 0;                             // right operand

    var operator: Character = "#";                // operator:+-*/=

    @IBOutlet var resultLabel : UILabel = nil   // output result

   

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

    }

   

    @IBAction func onClick(sender : UIButton) {

        println("Click" + sender.titleForState(UIControlState.Normal));

        var label = sender.titleForState(UIControlState.Normal);

        var c:Character = label[0]!

        switch c{

        case "+","-","*","/":

            operator = c

        case "=":

            var result = 0

            switch operator {

            case "+":

                result = operand1 + operand2

            case "-":

                result = operand1 - operand2

            case "*":

                result = operand1 * operand2

            case "/":

                result = operand1 / operand2

            default:

                break

            }

 

            resultLabel.text = "\(result)"

            // clear status

            operator = "#"

            operand1 = result

            operand2 = 0

            break

        default:

            if operator=="#" {

                let tmp = label.toInt()!

                operand1 = operand1*10 + tmp

                resultLabel.text = "\(operand1)"

            }

            else {

                let tmp = label.toInt()!

                operand2 = operand2*10 + tmp

                resultLabel.text = "\(operand2)"

            }

        }

    }

    // 其实这个ACTION可以不单独提出来,都放到ONCLICK函数里处理

    @IBAction func clearClick(sender : UIButton) {

        operand1 = 0

        operand2 = 0

        operator = "#"

        resultLabel.text = "0"

    }

转载于:https://my.oschina.net/u/3127014/blog/825022

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值