1. 程式人生 > >iOS開發 ---- Swift基礎語法。

iOS開發 ---- Swift基礎語法。

使用Xcode建立簡單的SwiftDemo工程檔案.

AppDelegate.swift 檔案程式碼如下:

import UIKit

@UIApplicationMain

class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {

        self.window = UIWindow

(frame: UIScreen.mainScreen().bounds)

// 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

    }

}