programing

"@UIApplicationMain"은 무엇을 의미합니까?

css3 2023. 8. 18. 22:49

"@UIApplicationMain"은 무엇을 의미합니까?

저는 방금 제 첫 번째 스위프트 프로젝트를 만들었습니다.AppDelegate.swift클래스 선언 위에 줄이 있습니다. 왜 거기에 있습니까?!

...
import UIKit
import CoreData

@UIApplicationMain // <- WHY IS IT HERE?
class AppDelegate: UIResponder, UIApplicationDelegate {
... 

@UIApplicationMain Swift의 속성을 합니다.main.m프로젝트에서 발견된 은 「C」를입니다.)main C 를 호출합니다.UIApplicationMainCocoa Touch 실행 루프 및 앱 인프라를 시작합니다.

Objective-C가 하는 ) 입니다.UIApplicationMain 중 하는 입니다.UIApplication물건.Swift에서는 해당 클래스의 선언에 속성을 추가하여 이 클래스를 쉽게 지정할 수 있습니다.(계속 호출할 수도 있습니다.)UIApplicationMain할 이유가 있으면 직접 기능합니다.를 Swift 서당그신은통최상코넣었습다니드에위에를화로 합니다.main.swiftfile으)로 됩니다.

@UIApplicationMain전용입니다.iOS 전용입니다.앱닙 X 파일이에 OS X에서는 Info.plist의 경우 (Swift의 경우 ObjC) 닙 파일이 . 하지만 OS X 스토리보드의 경우 메인 닙 파일이 없기 때문에@NSApplicationMain거기서도 같은 일을 합니다.

@UIApplicationMain 특성은 응용 프로그램을 시작하기 위한 main.m 파일 및 진입점을 대체하는 것입니다.

이 @UIApplicationMain 없이 프로그램이 작동할 수 있는 한 가지 더 있습니다. 여러분이 해야 할 일은 코멘트 //@입니다.UIApplicationMain'은 목표 c에서 main.m과 동일한 main.swift를 만들고 코드 아래에 씁니다.그것이 당신의 지원의 시작점이 될 것입니다.

import Foundation
class FLApplication: UIApplication
{
    override func sendEvent(event: UIEvent!)
    {
        println("Entry Point") // this is an example
    }
}

AppDelegate.swift 소스 파일에는 두 가지 기본 기능이 있습니다.

  • 앱의 진입점과 앱에 입력 이벤트를 전달하는 실행 루프를 만듭니다.이 작업은 파일의 위에 나타나는 UIApplicationMain 특성(@UIApplicationMain)에 의해 수행됩니다.UIApplicationMain은 앱의 수명 주기 관리를 담당하는 애플리케이션 개체와 앱 위임 개체를 만듭니다.

  • AppDelegate 개체의 Blueprint인 AppDelegate 클래스를 정의합니다.앱 대리인은 앱의 콘텐츠가 그려진 창을 만들고 앱 내 상태 전환에 응답할 수 있는 위치를 제공합니다.AppDelegate 클래스는 사용자 지정 앱 레벨 코드를 작성하는 곳입니다.

이제 Swift 설명서가 업데이트되었으므로 다음과 같은 관련 구절이 있습니다.

NSA 응용 프로그램 기본

클래스에 이 특성을 적용하여 클래스가 응용 프로그램 대리자임을 나타냅니다.이 속성을 사용하는 것은 NSApplicationMain(::) 함수를 호출하고 이 클래스의 이름을 대리자 클래스의 이름으로 전달하는 것과 같습니다.

이 속성을 사용하지 않는 경우, NSApplicationMain(::) 함수를 호출하는 main() 함수와 함께 main.swift 파일을 제공합니다.예를 들어 앱이 NSA 응용 프로그램의 사용자 지정 하위 클래스를 주 클래스로 사용하는 경우 이 속성을 사용하는 대신 NSApplicationMain 함수를 호출합니다.

https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Attributes.html

@UIApplicationMain은 이 클래스에 대한 자세한 정보를 제공하기 위해 아래에 선언된 클래스 AppDelegate에 적용되는 특성입니다.

이 경우 @UIApplicationMain 특성은 AppDelegate 클래스가 앱의 응용 프로그램 대리자임을 나타냅니다.

UIApplicationMain 클래스에 이 속성을 적용하여 클래스가 응용 프로그램 대리자임을 나타냅니다.이 속성을 사용하는 것은 UIApplicationMain 함수를 호출하고 이 클래스의 이름을 대리자 클래스의 이름으로 전달하는 것과 같습니다.(소스)

언급URL : https://stackoverflow.com/questions/24516250/what-does-uiapplicationmain-mean