把语言化为行动,比把行动化为语言困难得多。 —— 高尔基
———————————————————————————————————————————
第三部分 上手的小程序
另附链接:这是一些基本的动作用法(自己下载在电脑上运行)
百度云链接: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"
}