prettyprint

2015年9月15日 星期二

類別間函數 Function 的呼叫

Purpose:

函數 Function 定義在 A 類別,而由 B 類別呼叫使用

Step:

1. 新增 Single View App

2. 在 AppDelegate.swift 實作新函數:myFun()

//  AppDelegate.swift
//  CallFunctionOutside
//
//  Created by Elvis Meng on 2015/9/15.
//  Copyright (c) 2015年 Elvis Meng. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func myFun(#name:String, sex:String)->() {
        println("name: \(name), sex: \(sex)")
    }
3. 在 ViewController.swift 中實作,呼叫被定義在 AppDelegate.swift 中的新函數 myFun()

//
//  ViewController.swift
//  CallFunctionOutside
//
//  Created by Elvis Meng on 2015/9/15.
//  Copyright (c) 2015年 Elvis Meng. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        var vcApp = UIApplication.sharedApplication().delegate as! AppDelegate
        vcApp.myFun(name: "Evis Meng", sex: "Male")        
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
在此我們呼叫方法 .shareApplication 去獲得 app instance:
此時,呼叫這方法後,其返回值然為 UIApplication,這時呼叫其屬性 delegate
經過資料類別強制轉換成 AppDelegate 後,再接下來就是測試驗證了。 4. 驗證
參考: 1. UIApplication, https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIApplication_Class/

沒有留言:

張貼留言

prettyPrint();