iOS開發 ---- Swift基礎語法。
AppDelegate.swift 檔案程式碼如下:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
self.window = UIWindow
// Override point for customization after application launch.
self.window!.backgroundColor = UIColor.whiteColor()
self.window!.makeKeyAndVisible()
//類屬性和方法
//呼叫無參初始化方法來建立物件
//HoPeople()相當於Objective-C的[[HoPeople alloc] init]
var p: HoPeople = HoPeople
//呼叫有參初始化方法來建立物件
p = HoPeople(aName: "張三", aAge: 20);
//訪問People類的屬性
p.name = "lisi"
//輸出和格式化語句
println("name=\(p.name)");
//呼叫People類的方法
p.setName("王五");
var name = p.getName();
println("獲得的名字是:\(name)");
p.setAge(Age: 20);
p.setAge(aAge: 22
var sum = p.getSum(10, b: 12);
println("sum = \(sum)");
sum = p.getSum2(11, b: 21, c: 31);
println("sum = \(sum)");
var getInt = p.getInt();
var num = getInt();
println("num = \(num)");
var getInfo = p.getInfo(true);
var info = getInfo(20, "張三");
println("獲得巢狀2的內容是 = \(info)");
var moreInfo = p.getMoreInfo();
println("\(moreInfo.aName)+\(moreInfo.aAge)");
var average = p.getAverage(1,2,3,4, 5, 6, 7, 8);
println("平均數是:\(average)");
///*
//繼承關係
var man = HoMan();
man = HoMan(aName: "姓名", aAge: 30);
man.name = "測試姓名"
println("\(man.name)");
println("\(man.sex)");
//類方法
HoMan.test();
//條件語句
man.ifTest(20);
man.switchTest(1);
//*/
return true
}
}
HoPeople.swift 檔案程式碼如下:
import UIKit
class HoPeople: NSObject {
//變數可以直接在外部打點訪問
var name: String?
var age: Int?
var sex = true
//常量
let height = 185.0
//無參初始化方法
override init() {
println("測試結果")
}
//有參初始化方法
init(aName: String, aAge: Int) {
println("測試結果2222")
self.name = aName
self.age = aAge
}
//有參無返回的方法
func setName(aName: String) {
self.name = aName;
}
//無參有返回的方法
func getName() -> String {
return self.name!;
}
//內外部引數名不同的方法
//- (void)setAge:(int)a Age:(int)aAge
func setAge(Age aAge: Int) {
self.age = aAge;
}
//內外部引數名同名的方法
//- (void)setAge:(int)a aAge:(int)aAge
func setAge(#aAge: Int) {
self.age = aAge;
}
//多參有返回
func getSum(a: Int, b: Int) ->Int {
return a + b;
}
//方法的內部呼叫
func getSum2(a: Int, b: Int, c: Int) ->Int {
var sum = getSum(a, b: b)
return getSum(sum, b: c)
}
//方法的巢狀1
func getInt() ->() ->Int {
func getInt2() ->Int {
return 111;
}
return getInt2
}
//方法的巢狀2
func getInfo(flag: Bool) -> (Int, String) ->String {
func info(aAge: Int, aName: String) ->String {
//return aName + "的年齡為:" + String(aAge)
return "\(aName)的年齡為:\(aAge)"
}
return info
}
//多返回值的方法
func getMoreInfo() ->(aName: String, aAge: Int){
return (name!, age!);
}
//不定長引數的方法
func getAverage(numbers: Double...) ->Double {
var total: Double = 0
for number in numbers {
total += number
}
return total / Double(numbers.count)
}
}
HoMan.swift 檔案程式碼如下:import UIKit
//繼承關係 HoMan具有HoPeople的所有屬性和方法
class HoMan: HoPeople {
override init() {
println("子類的初始化方法");
super.init() ;
self.sex = true;
}
override init(aName: String, aAge: Int) {
super.init(aName: aName, aAge: aAge)
self.sex = true;
}
class func test() {
println("類方法呼叫了...");
}
//if條件語句
func ifTest(num: Int) {
if num < 5 {
println("<5");
} else if num < 15 {
println("5~15");
} else if num < 25 {
println("15~25");
}
}
//switch條件語句
func switchTest(index: Int) {
switch index {
case 1,2,3:
println("1,2,3");
case 4:
println("1,2,3");
default:
println("default");
}
var info: String = "abc"
switch info {
case "a":
println("a====");
case "abc":
println("abc====");
default:
println("Default====");
}
forTest()
}
func forTest() {
for var n=0; n<5; ++n {
//println("-----\(n)");
}
//1 2 3 4
for n in 1...5 {
//println("-----\(n)");
}
//1 2 3 4 5
for n in 1...5 {
//println("-----\(n)");
}
doWhileTest()
}
func whileTest() {
var n = 0
while n<10 {
//println("-----\(n)");
n++;
}
}
func doWhileTest() {
var n = 0;
do {
println("-----\(n)");
n++;
}while n<10
}
}