2017-04-11 2 views

답변

7

확실히 할 수 있습니다.

이 특수 파일의 이름은 main.swift이며 놀이터 파일과 동일하게 작동합니다. Files and Initialization에서

, 애플 스위프트 블로그에 게시물 :

합니다 ... "main.swift"파일은 최상위 코드를 포함 할 수 있으며, 순서에 의존하는 규칙도 적용됩니다. 실제로, "main.swift"에서 실행될 코드 의 첫 번째 줄은 프로그램의 기본 진입 점 으로 암시 적으로 정의됩니다. 이렇게하면 최소한의 Swift 프로그램이 라인이 될 수 있습니다 (해당 라인이 "main.swift"에있는 한).

그러나 iOS에서는 @UIApplicationMain이 애플리케이션 진입 점입니다. 전체 시동 장치가 자동으로 작동합니다. 하지만 iOS 앱인 main.swift에서는 수동으로 초기화해야합니다.

스위프트 3.1, 귀하의 main.swift 파일은 다음과 같이 시작해야한다 :

// main.swift 

import Foundation 
import UIKit 

class AppDelegate: UIResponder, UIApplicationDelegate { 
    var window: UIWindow? 
} 

UIApplicationMain(
    CommandLine.argc, 
    UnsafeMutableRawPointer(CommandLine.unsafeArgv) 
     .bindMemory(
      to: UnsafeMutablePointer<Int8>.self, 
      capacity: Int(CommandLine.argc)), 
    nil, 
    NSStringFromClass(AppDelegate.self) 
) 

// Your code begins here 

UIApplicationMain initialization

Matt Neuburg에 의해 제공.

1

예, AppDelegate를 제외하고 않습니다. 그렇게하는 것은 좋지 않지만 한 파일에서 여러 클래스를 가질 수 있습니다.

2

예, 세미콜론으로 줄을 끝내고 싶다면 코드 한 줄에 모든 코드를 쓸 수있는 것처럼 할 수 있습니다. 이것은 많은 혼란을 야기 할 수 있기 때문에 권장되지는 않습니다. 원래 구성된 파일을 망칠 필요가 있습니다.