2014-06-08 3 views

답변

63

일반 Swift 모듈의 진입 점은 main.swift이라는 모듈의 파일입니다. main.swift은 최상위 레벨에서 표현식과 명령문을 가질 수있는 유일한 파일입니다 (모듈의 다른 모든 Swift 파일은 선언 만 포함 할 수 있음).

코코아 터치는 진입 점을 표시하기 위해 main.swift 파일 대신 UIApplicationDelegate의 구현에서 @UIApplicationMain attribute을 사용합니다. 코코아는 NSApplicationMain이라고 부르는 최소 main.swift 파일을 사용했지만 as of Xcode 6.1@NSApplicationMain attribute을 구현시 NSApplicationDelegate으로 사용합니다.

+1

새로운 xcode 프로젝트를 만들었으며 어디서나 'main.swift' 파일을 찾을 수 없습니다. 이 파일의 위치는 무엇입니까? – Selvin

+0

Cocoa 및 Cocoa Touch 응용 프로그램에서'main.swift'는 ** Supporting Files ** 그룹에 있으며 단순히 NSApplicationMain을 호출하도록 구성됩니다. – nathan

+3

지원 파일 그룹에 해당 파일이 없습니다. 그것의 프로젝트에서 아무데도. – Selvin

30

AppDelegate.swift 파일에서 @UIApplicationMain을 볼 수 있습니다.
AppDelegate는 초기 항목 파일입니다.

은 기본적으로 : main.mAppDelegate.m 좀 단지 AppDelegate.swift

+2

@nathan 그는 '코코아 터치'로가는 ** iOS8 **라는 태그를 사용했습니다. 제 대답이 옳습니다. – Houssni

+1

예, 정말로 !! :) – Selvin

19

당신은 Files and Initialization

예외 읽을 수 있습니다에 Swift에 병합하는 훨씬 동작 "main.swift"라는 이름의 특수 파일이며, 놀이터 파일과 비슷하지만 앱의 소스 코드로 제작되었습니다. "main.swift"파일에는 최상위 코드가 포함될 수 있으며 주문에 따라 규칙이 적용됩니다. 실제로 "main.swift"에서 실행되는 첫 번째 코드 줄은 프로그램의 기본 진입 점으로 암시 적으로 정의됩니다. 이렇게하면 해당 줄이 "main.swift"에있는 한 최소 Swift 프로그램을 단일 줄로 사용할 수 있습니다 ( ). iOS 용

엑스 코드에서

하는 "main.swift"파일을 포함 맥 템플릿 기본,하지만 새로운 아이폰 OS 프로젝트 템플릿의 기본 정기적 스위프트 파일에 @UIApplicationMain을 추가하는 것입니다 애플 리케이션. 이로 인해 컴파일러 은 iOS 앱의 기본 진입 점을 합성하고 "main.swift"파일의 필요성을 제거합니다.

또는 Objective-C로 작성된 구현에서 연결하여 프로젝트를 점진적으로 Objective-C에서 Swift로 마이그레이션 할 때 일반적으로 연결할 수 있습니다.

+1

이것이 iOS에서 엔트리 포인트가 설정되는 방법에 대한 더 높은 수준의 설명 인 것으로 나타났습니다. – Steven

-1

스위프트에서 main.swift 자체는 main() 방법입니다.

+0

이 질문에 대한 답을 제공하지 않습니다. 충분한 [평판] (https://stackoverflow.com/help/whats-reputation)이 있으면 [모든 게시물에 주석 달기] (https://stackoverflow.com/help/privileges/comment) 할 수 있습니다. 대신, [질문자의 설명이 필요없는 답변을 제공하십시오] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- i-do- 대신). - [리뷰에서] (리뷰/저품절 포스트/19053808) – msparer