Computer >> 컴퓨터 >  >> 체계 >> MAC

Mac에서 Swift 5로 앱을 만드는 방법

Swift는 iPhone, iPad, Mac, Apple Watch 등의 앱과 게임을 작성하는 데 사용되는 프로그래밍 언어입니다. Apple은 장치에서 가장 빠르고 효율적인 성능을 얻기 위해 Swift를 명시적으로 설계했으며, Swift 5는 이미 인상적인 기능 세트를 확장합니다. 이 기사에서는 Swift 5를 사용하는 방법을 보여주고, 왜 사용해야 하는지 설명하고, 이 언어 버전의 모든 새로운 기능을 간략하게 설명합니다.

그냥 뛰어들고 싶다면 Swift 5를 시작하는 방법으로 이동하십시오. 그리고 더 광범위한 개요를 보려면 macOS에서 사용할 수 있는 다양한 코딩 언어를 살펴보는 Mac 프로그래밍에 대한 전체 가이드를 살펴보세요.

Swift 5 개요

Swift 5는 개발자가 iOS, macOS, tvOS 및 watchOS용 앱을 빌드할 수 있도록 Apple에서 개발한 프로그래밍 언어입니다.

다섯 번째 버전은 2019년 3월 Xcode 10.2와 함께 출시되었습니다. 이후 섹션에서 Swift 5의 새로운 기능에 대해 설명합니다. 그러나 Swift 언어는 잠시 동안 진행되었습니다. Swift 1.0은 2014년 9월에 다시 출시되었습니다. Apple에 따르면 , Swift는 Objective C보다 최대 2.6배, Python보다 최대 8.4배 빠릅니다.

Swift 5로 코딩해야 하는 이유

1) Swift는 오픈 소스입니다. . 오픈 소스는 일반적으로 프로그램 이면의 소스 코드 또는 프로그래밍 언어를 일반 대중에게 공개하는 것을 의미합니다. 그런 다음 코더는 원하는 곳 어디에서나 프로그램을 검사, 수정 및 배포할 수 있습니다.

Apple의 오픈 소스 페이지에는 다음과 같이 나와 있습니다. "Apple은 핵심 구성 요소가 수십 년 동안 동료 검토의 도가니를 거쳤기 때문에 오픈 소스 방법론을 사용하면 macOS가 더욱 강력하고 안전한 운영 체제가 된다고 믿습니다."

2) Swift는 배우기 쉽습니다 . Apple은 사용하기 쉽도록 언어를 만들었습니다. 구문이 이해하기 쉽기 때문에 초보자가 시작하기에 이상적인 언어입니다. 이전에 소프트웨어를 개발한 적이 있다면 Swift의 구문과 개념이 이미 사용하고 있는 것과 매우 유사하다는 것을 알게 될 것입니다.

3) 스위프트는 빠릅니다 . Apple은 Swift의 검색 알고리즘이 Objective-C보다 최대 2.6배, Python보다 최대 8.4배 더 빠르다고 주장합니다.

4) Swift는 안전합니다. . 언어로 작업할 때 안전하지 않은 코드를 만나서는 안 되며 최신 프로그래밍 규칙을 사용하여 앱에서 필요한 보안을 유지하는 데 도움이 됩니다.

5) 놀이터 . Xcode에는 Swift 5 프로그래머가 코드를 작성하고 즉시 결과를 볼 수 있는 플레이그라운드라는 기능이 있습니다. 다음은 Swift Playgrounds를 사용하는 방법입니다.

6) Swift 5는 미래 대비입니다. , iOS, macOS, watchOS 및 tvOS와 같은 다양한 플랫폼용으로 개발할 수 있습니다.

7) Swift는 지속적으로 개선하고 있습니다. 모든 업데이트와 함께. Swift 5는 오랫동안 기다려온 ABI 안정성을 가져왔습니다. 즉, 미래의 Swift 컴파일러는 Swift 5 이상으로 작성된 코드를 컴파일할 수 있고 최신 버전의 Swift로 코드를 마이그레이션하는 것이 개발자에게 덜 고통스러울 것입니다. 이는 또한 OS 공급업체가 Swift 표준 라이브러리를 운영 체제에 포함할 수 있고 Swift 5 이상 버전으로 구축된 모든 애플리케이션과 호환될 수 있음을 의미합니다.

WWDC 2019에서 더 많은 Swift 개발 소식을 듣게 될 것입니다.

Swift 5를 시작하는 방법

iOS용 앱을 개발하려면 Mac(MacBook, iMac 또는 Mac mini)과 Xcode(버전 10.2 이상)라는 무료 소프트웨어가 필요합니다. 시작하려면 아래 단계를 따르세요.

  1. 데스크톱에서 Mac App Store를 엽니다.
  2. 검색창에서 'Xcode'를 검색하세요.
  3. Xcode 아이콘 옆에 있는 '가져오기'를 클릭하세요.
  4. 브라우저의 Mac App Store에서도 Xcode를 찾을 수 있습니다.

Mac에서 Swift 5로 앱을 만드는 방법

온라인 컴파일러

앱을 배포할 계획이 없다면 언제든지 Swift 온라인 컴파일러를 사용할 수 있습니다. 이것은 Swift 코드를 배우고 실행할 수 있는 좋은 방법입니다.

  • Online Swift Playground는 Swift 5를 지원하며 코드를 테스트하고 실행할 수 있습니다.
  • Repl.it에는 작성 당시(2019년 5월) Swift 4.2를 지원하는 온라인 컴파일러가 있지만 곧 업데이트가 예정되어 있습니다.

Swift에서 간단한 앱을 작성하는 방법

Xcode를 열고 파일> 새로 만들기> 프로젝트를 선택합니다. . 단일 보기 앱 선택 템플릿 목록에서.

Mac에서 Swift 5로 앱을 만드는 방법

앱 이름과 조직 이름을 입력합니다(회사 이름 또는 자신의 이름일 수 있음). 조직 식별자는 일반적으로 역순으로 된 회사 URL입니다(예:com.mycompany.myapp). .

언어로 Swift를 선택하고 다음을 클릭합니다. . 마지막으로 Mac에서 Xcode가 프로젝트를 생성할 위치를 선택합니다.

Mac에서 Swift 5로 앱을 만드는 방법

프로젝트를 생성하면 다음 화면이 표시됩니다.

Mac에서 Swift 5로 앱을 만드는 방법

여기에서는 사용자가 텍스트 필드에 이름을 입력하고 버튼을 누르면 간단한 인사말을 받을 수 있는 간단한 앱을 개발할 것입니다.

시작하려면 Main.storyboard로 이동하세요. 왼쪽 창에서 파일. 빈 보기가 나타납니다. 오른쪽 상단 모서리에 있는 둥근 버튼을 클릭하여 개체 라이브러리를 엽니다. 텍스트 필드, 레이블 및 버튼을 보기로 끌어다 놓습니다.

Mac에서 Swift 5로 앱을 만드는 방법

Mac에서 Swift 5로 앱을 만드는 방법

보기 계층 구조에서 버튼을 선택하고 오른쪽에 있는 유틸리티 영역에서 제목을 "인사말 생성"으로 설정합니다.

Mac에서 Swift 5로 앱을 만드는 방법

ViewController.swift를 두 번 클릭합니다. 파일. 별도의 창에서 열립니다.

이제 보기에서 텍스트 필드를 선택하고 Ctrl 키를 누릅니다. ViewController 상단으로 드래그 수업. 텍스트 필드에 대한 IBOutlet을 생성하라는 메시지가 표시됩니다. "textField"라고 합니다.

Mac에서 Swift 5로 앱을 만드는 방법

레이블에 대해 동일한 작업을 수행하고 IBOutlet의 이름을 "레이블"로 지정합니다. 버튼에 대해서도 동일한 작업을 수행해야 하지만 버튼을 ViewController 상단으로 드래그하는 대신 , 아래쪽으로 끌어 IBAction 메서드를 만듭니다. 메서드 이름을 "buttonTapped"로 지정합니다.

IBOutlet은 코드에서 스토리보드의 컨트롤에 액세스하는 데 사용되며 IBAction 메서드는 탭과 같은 버튼 이벤트에 반응하는 데 사용됩니다.

buttonTapped에 다음 코드를 추가합니다. ViewController의 메소드 클래스:

이름이 textField.text인 경우 {
self.label.text ="안녕하세요" + 이름
}

다음은 이러한 변경 후 ViewController.swift 파일의 모습입니다.

Mac에서 Swift 5로 앱을 만드는 방법

이제 앱을 실행할 준비가 되었습니다. 실행 버튼을 누르면 시뮬레이터에서 앱이 실행됩니다.

사용자가 텍스트 필드에 자신의 이름을 추가하고 버튼을 탭하면 하단의 레이블에 입력한 이름과 함께 "Hello"가 표시됩니다.

Mac에서 Swift 5로 앱을 만드는 방법

Swift 5 개념(기본 및 고급)

간단한 앱을 만들었습니다. 이제 자신의 앱 프로젝트에서 사용할 수 있는 몇 가지 방법과 코드 스니펫으로 넘어가겠습니다.

Swift에서 텍스트 인쇄

print("안녕하세요, 여러분!")

변수 정의

상수를 만들려면 'let'을 사용하고 변수를 정의하려면 'var'를 사용하세요. 상수 값은 한 번 할당되면 변경할 수 없습니다. 변수의 값은 변경될 수 있습니다. 사용자가 항상 유형을 명시적으로 작성할 필요는 없습니다. 상수 또는 변수를 생성할 때 값을 제공하면 컴파일러에서 해당 유형을 유추할 수 있습니다.

constVar =42
변수 번호Var =27

개발자는 유형을 지정할 수도 있습니다. 아래 예에서는 정수를 선언하고 있습니다.

var numberVar:정수 =27

Swift의 댓글

Swift의 주석은 두 가지 유형이 있습니다.

한 줄:

//댓글입니다

여러 줄 주석:

/* 이것은
여러 줄 주석 */

Swift에서의 의사 결정

if 문 구문 Swift에서는 다음과 같습니다.

boolean_expression {인 경우
/* 부울 표현식이 참인 경우 실행됩니다. */
}

예:

Mac에서 Swift 5로 앱을 만드는 방법

if...else 문의 구문 Swift 5에서는 다음과 같습니다.

boolean_expression {인 경우
/* 부울 표현식이 참인 경우 실행됩니다. */
} 기타 {
/* 부울 표현식이 거짓인 경우 실행됩니다. */
}

예:

Mac에서 Swift 5로 앱을 만드는 방법

if...else if...else 문의 구문 Swift 5에서는 다음과 같습니다.

boolean_expression_1 {인 경우
/* 부울 표현식 1이 참일 때 실행 */
} else if boolean_expression_2 {
/* 부울 표현식 2가 참일 때 실행 */
} else if boolean_expression_3 {
/* 부울 표현식 3이 참일 때 실행 */
} 기타 {
/* 위의 조건 중 어느 것도 참이 아닐 때 실행 */
}

예:

Mac에서 Swift 5로 앱을 만드는 방법

Switch 문

다음은 Swift 5에서 사용할 수 있는 switch 문의 일반 구문입니다. 여기서 fallthrough가 사용되면 다음 케이스의 실행을 계속한 다음 Switch 문에서 나옵니다.

스위치 식 {
사례 표현1 :
진술
대체 /* 선택사항 */
케이스 표현식2, 표현식3 :
진술
대체 /* 선택사항 */
기본값 :/* 선택사항 */
진술,
}

예:

Mac에서 Swift 5로 앱을 만드는 방법

배열

대괄호(예:[ 및 ])를 사용하여 배열 및 사전을 만들고 대괄호 안에 인덱스 또는 키를 작성하여 해당 요소에 액세스합니다. 다음 줄은 배열을 만듭니다.

var arrayList =["Swift", "JavaScript", "Java", "PHP"]

배열의 두 번째 요소에 액세스하고 수정하려면 다음과 같이 직접 작성할 수 있습니다.

arrayList[2] ="기본 반응"

빈 배열을 생성하려면 이니셜라이저 구문을 사용하십시오.

var emptyArray =[문자열]()
빈 배열 =[]

사전

var 직업 =["Steve":"개발자", "Kate":"디자이너",]

사전의 값에 액세스하고 수정하려면 다음과 같이 직접 작성할 수 있습니다.

직업["Steve"] ="CTO"

빈 사전을 만들려면 이니셜라이저 구문을 사용하세요.

직업 =[:]

세트

Swift의 집합은 배열과 유사하지만 고유한 값만 포함합니다.

var a :세트 =[1,2,3,4,5,6,7,8,9,0]

Swift는 또한 값의 부재를 처리하는 Optionals 유형을 도입합니다. 선택 사항은 "값이 있고 x와 같습니다" 또는 "값이 전혀 없습니다"라고 말합니다. '?'를 사용하여 Optional을 정의할 수 있습니다. 또는 '!'

var myString:문자열?

'?' 값이 존재하거나 없을 수 있음을 의미합니다.

'!' 처음에는 값이 0일 수 있지만 나중에 사용할 때 값이 있어야 함을 의미합니다. 그렇지 않으면 런타임 오류가 생성됩니다.

부호 없음은 변수가 선택 사항이 아니며 값을 할당해야 함을 의미합니다. 그렇지 않으면 컴파일러 오류가 생성됩니다.

기능

다음은 Swift에서 함수를 생성하는 구문입니다. inputNum은 매개변수 이름 뒤에 DataType이 오고, 'createStr'은 함수 이름입니다. '-> 문자열'은 반환 유형을 나타냅니다. 이 함수는 Integer를 입력으로 받아 String으로 변환하여 반환합니다.

func createStr(숫자 inputNum :Int) -> 문자열
{
"\(inputNum)" 반환
}

함수는 아래 구문을 사용하여 호출할 수 있습니다.

createStr(번호:345)

수업

다음은 Class Car를 생성하는 구문입니다. 선택적 멤버 변수 numOfPersons와 displayDetails()

함수가 있습니다.

클래스 자동차
{
var numOfPersons :Int?
기능 displayDetails() {
}
}

아래 줄을 사용하여 클래스 인스턴스를 만들 수 있습니다.

var myCar :자동차 =Car()

'numOfPersons' 변수는 아래와 같이 초기화할 수 있습니다.

myCar.numOfPersons =5

Swift의 폐쇄

클로저는 블록으로 구성되고 C 및 Objective-C 언어와 같은 모든 곳에서 호출되는 익명 함수입니다. 클로저는 변수에 할당될 수 있습니다. 다음은 Swift의 클로저 구문입니다.

{
(매개변수) −> 반환 유형

}

아래는 간단한 예입니다. 여기에서 scname 변수에 클로저를 할당합니다. . 그런 다음 다음 줄에서 변수 이름을 호출하여 클로저를 호출합니다.

Mac에서 Swift 5로 앱을 만드는 방법

확장 프로그램

Swift에서 확장의 도움으로 기존 클래스, 구조 또는 열거 유형의 기능을 확장할 수 있습니다. 유형 기능은 확장으로 추가할 수 있지만 이 방법으로 기능을 재정의하는 것은 불가능합니다.

아래 예제에서 우리는 클래스 car를 가지고 있고 다른 속성을 추가하기 위해 car에 확장을 추가하고 있습니다. speed 속성에 접근하면서 마치 클래스에 속한 것처럼 직접 접근할 수 있습니다.

Mac에서 Swift 5로 앱을 만드는 방법

튜플

튜플 유형은 단일 복합 값으로 여러 값을 그룹화하는 데 사용됩니다. 다음은 Tuple 선언의 구문입니다.

var TupleName =(값1, 값2,… 임의의 수의 값)

다음은 튜플 선언입니다.

var error501 =(501, "구현되지 않음")

Swift 5의 새로운 기능

Swift 5의 새로운 요소를 더 자세히 살펴보겠습니다.

원시 문자열

Swift 5는 이전 Swift 버전에서와 같이 이스케이프 시퀀스를 사용할 필요 없이 인용 부호와 백슬래시가 포함된 문자열을 더 쉽게 생성할 수 있는 기능인 원시 문자열을 제공합니다. 원시 문자열에서 인용 부호와 백슬래시는 문자열 종료 또는 이스케이프 문자로 해석되는 대신 문자 그대로 해당 기호로 해석됩니다.

원시 문자열을 사용하려면 #만 추가하면 됩니다. 문자열의 시작과 끝:

Mac에서 Swift 5로 앱을 만드는 방법

원시 문자열의 백슬래시는 리터럴 기호로 해석되기 때문에 원시 문자열에서 문자열 보간을 사용하려면 다른 #을 추가해야 합니다. 백슬래시 기호 뒤:

Mac에서 Swift 5로 앱을 만드는 방법

#을 사용해야 하는 경우 ##을 추가해야 하는 원시 문자열 내에서 함께 시퀀스 문자열의 시작과 끝:

Mac에서 Swift 5로 앱을 만드는 방법

정수 배수 찾기

Swift 4.2 및 이전 버전에서 숫자가 다른 숫자의 배수인지 확인하려면 모듈로 연산자(%)를 사용해야 합니다. 이제 Swift 5에는 이를 위한 전용 메서드가 있어 코드가 훨씬 더 명확해집니다.

Mac에서 Swift 5로 앱을 만드는 방법

미래의 열거형 케이스 처리

Swift의 switch 문은 항상 철저해야 합니다. 즉, 항상 모든 열거형 케이스를 처리하거나 기본값을 추가하여 특정 케이스만 처리해야 합니다. 다른 모든 경우를 처리하는 경우:

Mac에서 Swift 5로 앱을 만드는 방법

이 접근 방식의 문제는 향후 개발자가 열거형에 다른 케이스를 추가하기로 결정한 경우 컴파일러에서 새 케이스가 추가되었다는 경고가 표시되지 않는다는 것입니다. 이는 새 케이스가 기본값으로 처리됨을 의미합니다. 항상 원하는 것은 아닙니다.

이 문제를 해결하기 위해 새로운 @unknown 속성은 Swift 5에 추가되었습니다. 이 속성은 기본 케이스와 함께 사용합니다.

Mac에서 Swift 5로 앱을 만드는 방법

@unknown switch 문의 기본 케이스인 경우 향후 열거형에 새 케이스가 추가되면 컴파일러에서 경고를 발행합니다. 이런 식으로 개발자는 새로운 케이스를 처리할지 여부를 결정할 수 있습니다.

중첩된 옵션 병합

중첩된 옵션은 try?를 사용하여 throw되는 코드를 처리하여 만들 수 있습니다. . Swift 5에서 중첩된 옵셔널은 일반 옵셔널로 병합됩니다. 이는 조건부 유형 캐스팅 및 선택적 연결의 동작과 일치합니다.

Mac에서 Swift 5로 앱을 만드는 방법

위의 예에서 모델 변수가 문자열? 유형입니다. 문자열??이 아니라 마치 Swift 4.2에서처럼.

표준 라이브러리의 결과 유형

Swift 5에서 결과 유형이 표준 라이브러리에 추가되었습니다. 결과 type은 비동기 코드에서 오류를 처리하는 깨끗하고 간단한 방법을 제공합니다. 성공이 있는 열거형으로 구현됩니다. 및 실패 케이스. 두 경우 모두 제네릭을 사용하여 구현됩니다. 성공 케이스는 실패 동안 모든 유형의 관련 값을 가질 수 있습니다. 사례에는 오류를 준수하는 관련 값이 있어야 합니다. 규약. 다음은 결과의 사용법을 보여주는 예입니다. 유형:

Mac에서 Swift 5로 앱을 만드는 방법

위의 예에서는 간단한 ApiClient를 구현했습니다. URL에서 이름을 가져옵니다. fetchNames의 두 번째 매개변수는 함수는 결과를 수락하는 완료 클로저입니다. 유형. 결과 이 예의 유형은 [String]을 사용합니다. 성공 사례 및 ApiError 실패의 경우.

이제 위의 코드를 다음과 같이 사용할 수 있습니다.

Mac에서 Swift 5로 앱을 만드는 방법

Swift의 기타 기능

이전 버전의 Swift에서 최신 버전의 새로운 기능을 살펴보았습니다. 그러나 이전 버전에서 살아남은 기능에 대해 아는 것은 여전히 ​​가치가 있습니다. 다음은 Swift 4에 추가된 몇 가지 하이라이트입니다.

문자열

Swift 4부터 String은 Collection 프로토콜을 따르며 String을 직접 반복할 수 있습니다. 이는 또한 count, isEmpty, map(), filter(), index(of:) 등과 같은 String에 대한 모든 Collection 메서드 및 속성을 사용할 수 있음을 의미합니다.

Mac에서 Swift 5로 앱을 만드는 방법

Swift는 대신 삼중 따옴표를 사용하여 여러 줄 문자열에 대해 완전히 다른 접근 방식을 취하므로 더 이상 큰 따옴표를 이스케이프할 필요가 없습니다.

Mac에서 Swift 5로 앱을 만드는 방법

JSON 인코딩 및 디코딩

Swift 4는 Swift 3에서 사용했던 전체 JSON 보관 및 직렬화 프로세스를 단순화했습니다. 이제 사용자 정의 유형이 Codable 프로토콜을 구현하도록 하기만 하면 됩니다. 이 프로토콜은 인코딩 가능 및 디코딩 가능 프로토콜을 모두 결합합니다.

Mac에서 Swift 5로 앱을 만드는 방법

스마트 키 경로

Swift 4를 사용하면 키 경로를 사용하여 객체의 속성에 더 쉽게 액세스할 수 있습니다.

Mac에서 Swift 5로 앱을 만드는 방법

프로토콜과 클래스 혼합

상수와 변수를 생성할 때 Swift 3에서 프로토콜을 함께 결합할 수 있습니다. Swift 4는 한 단계 더 나아가 동일한 구문을 사용하여 믹스에 클래스를 추가할 수 있습니다. Objective-C에서와 같은 방식으로 한 번에 특정 개체를 클래스 및 프로토콜로 제한할 수 있습니다.

스왑 대 swapAt

스왑(_:_:) Swift 3의 mutating 메소드는 특정 배열의 두 요소를 가져와서 그 자리에서 교환합니다. 이 솔루션에는 한 가지 주요 단점이 있습니다. 교환된 요소는 함수에 직접 액세스할 수 있도록 입력 매개변수로 전달됩니다.

Swift 4는 메소드를 swapAt(_:_:)으로 대체하여 완전히 다른 접근 방식을 취합니다. 두 요소의 해당 인덱스를 가져 와서 이전과 같이 바꿉니다.

사전 및 세트

사전의 init(uniqueKeysWithValues:)를 사용할 수 있습니다. 튜플 배열에서 완전히 새로운 사전을 생성하기 위한 이니셜라이저.

Mac에서 Swift 5로 앱을 만드는 방법

Swift 5 프로그래밍에 대해 자세히 알아볼 수 있는 최고의 장소

Swift 5를 사용하여 앱 빌드를 시작하는 데 도움이 되는 많은 리소스가 있습니다. 가장 좋은 옵션이 아래에 나열되어 있습니다.

Apple 문서: Swift 5를 배우기에 가장 좋은 곳은 Apple의 Swift 공식 문서입니다.

전자책: Apple은 Swift 5:Swift 프로그래밍 언어(Swift 5.0)를 배울 때 매우 유용한 최신 eBook을 출시했습니다.

유데미 :가장 큰 온라인 비디오 학습 서비스는 Swift의 다양한 버전을 다루는 여러 코스가 있습니다. 다음은 Swift 5를 다루는 몇 가지입니다.

  • 초보자를 위한 Swift 5 프로그래밍
  • iOS 12 및 Swift 5:할 일 목록 앱 구축

간단한 단계의 신속한 프로그래밍 - iOS 12 및 Swift 5 포함: 이 기사의 저자가 작성한 이 책은 처음부터 Swift 5를 사용하여 iOS 앱을 빌드하는 방법을 알려줄 것이며 완전히 설명되어 있습니다. 아마존에서 사본을 얻을 수 있습니다.

Swift를 사용한 해킹: Swift를 사용한 개발에 대해 배우는 가장 좋은 방법은 Hacking with Swift 웹사이트의 책을 사용하는 것입니다. 훌륭한 Swift 개발자이자 매니아인 Paul Hudson이 관리합니다.

별도의 기사:Swift를 배우는 방법에 더 많은 리소스가 있습니다.