
개요 Xcode를 실행하고 앱 프로젝트를 새로 만들 떄 Interface에서 선택할 수 있는 SwiftUI와 Storyboard. 이 두개는 어떤 관계이고 어떤 차이가 있을까? Interface 인터페이스는 어플리케이션과 사용자가 소통할 수 있도록 해주는 일종의 시스템입니다. 모바일 디바이스에서는 보통 사용자의 터치, 슬라이드 등의 손동작을 통해 어플리케이션을 제어할 수 있도록 합니다. 버튼, 스위치, 툴바 등이 대표적인 인터페이스입니다. xcode에서 선택할 수 있는 Interface는 유저의 앱 개발환경을 뜻합니다. 유저는 SwiftUI나 Storyboard 둘중 하나를 선택하여 원하는 앱 개발 환경에서 앱을 개발할 수 있습니다. 이 두개의 인터페이스는 다른 계층구조를 가집니다. SwiftU..

프로토콜protocol Name {property method...} 메소드, 프로퍼티, 어떠한 일이나 기능을하는 것들의 청사진입니다. 클래스, 구조체, 열거형 등에 채택되어 구현에 대한 요구사항을 제공합니다. 프로토콜의 요구사항을 만족하는 타입을 이 프로토콜에 *conform 한다고 말합니다.(*따르다, 순응하다) 프로토콜은 특정한 이름과 타입으로 인스턴스, 타입 프로퍼티를 요구합니다. 저장 프로퍼티인지 계산 프로퍼티인지는 필요하지 않습니다. 프로토콜은 프로퍼티들이 gettable 또는 gettable and settable 인지 명시해줘야 합니다.(*gettable: 읽기, settable: 쓰기)protocol SomeProtocol { var mustBeSettable: Int { get..

Swiftios와 os x 프로그래밍을 위해 개발한 프로그래밍 언어 기존 Objective-C의 단점을 보완하고, LLVM/Clang 컴파일러로 빌드되는 애플의 신규 프로그래밍 언어이다. 기존 Objective-C에 비해 클로저, 다중 리턴 타입, 네임스페이스, 제네릭, 타입 인터페이스 등 Objective-C에는 없었던 현대 프로그래밍 언어가 갖고 있는 기능을 많이 포함시켰으며, 이에 따라 일정한 성능 향상을 보이고 있다. iOS와 iPadOS, macOS를 대상으로 한다. (*Objective-C의 단점: 언어 자체가 복잡하고 문법이 길다. Swift는 다양한 문법 체계를 제공하고 많은 라이브러리를 제공하고 있다) Swift의 3가지 모토 Safe. The most obvious way to wri..