swift中自定義UIApplication

原文:http://stackoverflow.com/questions/24020000/subclass-uiapplication-with-swift

1.首先定義UIApplication的子類SLApplication

import Foundation
import UIKit

class SLApplication: UIApplication {
    override func sendEvent(event: UIEvent) {
        super.sendEvent(event)
        print("send event")
    }
}

2.設(shè)置入口
新建main.swift,

import Foundation
import UIKit

UIApplicationMain(Process.argc, Process.unsafeArgv, NSStringFromClass(SLApplication), NSStringFromClass(AppDelegate))

3、去掉Appdelegate的@UIApplicationMain

@UIApplicationMain

在類的最頂部聲明@UIApplicationMain,表示該類是application的delegate。如果不用該屬性標(biāo)識(shí),另外一種做法是在main.swift中調(diào)用UIApplicationMain函數(shù),設(shè)置delegate和application。以上我們就是根據(jù)這種方法來設(shè)置的。

Apple doc

Apply this attribute to a class to indicate that it is the application delegate. Using this attribute is equivalent to calling the UIApplicationMain function and passing this class’s name as the name of the delegate class.

If you do not use this attribute, supply a main.swift file with a main function that calls the UIApplicationMain(:::) function. For example, if your app uses a custom subclass of UIApplication
as its principal class, call the UIApplicationMain(
:::) function instead of using this attribute.

可以下載demo:https://github.com/silan-liu/CustomApplication

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容