iOS 프로그래밍: PickerView 위임(delegate) 및 데이터소스(DataSource)

스토리보드 상에서 Delegate, DataSource 설정 또는 코드상에서 Delegate, DataSource 설정 @IBOutlet weak var pkvKeyList: UIPickerView! override func viewDidLoad() { pkvKeyList.delegate = self pkvKeyList.dataSource = self }   // PickerView Delegate // 열 개수를 설정 func numberOfComponents(in pickerView: UIPickerView) -> Int { return 1 } // 행의 개수 전달 func pickerView(_ 더보기…

Swift: DateFormatter 날짜 한글로 표기

DateFormatter에서 날짜를 한글로 표기하려면 로케일 설정을 변경합니다. let date = NSDate() // 현재 시간 가져오기 let formatter = DateFormatter() formatter.locale = Locale(identifier: "ko") // 로케일 변경 formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEEE" print("현재시간: " + formatter.string(from: date as Date)) 날짜 포맷표: https://ownstory.tistory.com/21

iOS 프로그래밍: 스토리보드에서 요소를 추가한 뒤 아웃렛 변수와 액션 함수로 연결하기

프로젝트 생성 File > New > Project > iOS > Single App View   User Interface에서 Storyboard를 선택합니다. 스토리보드는 주로 Main.storyboard에서 진행됩니다.     메인 스토리보드에 요소 추가 Xcode의 오른쪽 상단을 보면 + 버튼이 있습니다. 이것을 클릭하면 아래 화면이 나옵니다. Label과 Button, Image View를 스토리보드에 드래그해 요소들을 추가합니다. 요소들을 추가한 더보기…

Swift UI: iOS 앱 프로젝트 Swift UI로 시작하기 (Xcode)

 Swift Swift UI   새 프로젝트 만들기 File > New > Project > iOS > Single App View User Interface에서 SwiftUI를 선택합니다.   Swift UI에서 주요 내용은 ContentView.swift 에서 진행됩니다. 근거는 SceneDelegate.swift 에 있습니다.   ContentView.swift에서 아래 부분에 주요 내용이 들어갑니다. struct ContentView: View { var body: some View { 더보기…

Swift 기초 (8): 제네릭 타입 (Generic Type)

제네릭 타입 (Generic Type) 제네릭 타입이란 “타입을 파라미터화해서 컴파일시 구체적인 타입이 결정되도록 하는 것“이란 뜻으로 Swift에서도 제네릭 타입을 지원합니다. 주로 배열 같은 콜렉션 타입에서 사용됩니다. // EEItem: 임의로 설정한 이름으로 어떠한 타입도 받을 수 있음 func makeArray<EEItem>(repeating item: EEItem, numberOfTimes: Int) -> [EEItem] { var result = [EEItem]() // 배열의 더보기…

Swift 기초 (7): 에러 처리 (Error Handling)

에러 처리 자바의 예외 처리처럼 스위프트도 프로그램 내에서 발생한 에러들을 처리하는 기능이 있습니다. 여러 키워드들이 사용되는데, Error, throws, throw, do ~ catch, try 등이 사용됩니다.   프린터 출력 프로그램을 작성한다고 가정합니다. 먼저 프린트 출력 시 발생할 수 있는 에러의 경우를 Enum 형태로 나열해 보겠습니다. 이 때 Error라는 키워드를 추가해 정의합니다. 더보기…

Swift 기초 (6): 프로토콜 (Protocol)

프로토콜 프로토콜은 메소드, 속성 그리고 다른 특정 작업 또는 기능의 부분에 맞는 요구 사항의 청사진을 정의합니다. 자바의 Interface와 유사한 개념이며, 클래스, 열거형(Enumeration), 구조체(Structure) 모두에 프로토콜을 사용할 수 있습니다.   다음은 프로토콜의 기본 형태입니다. protocol ExampleProtocol { var simpleDescription: String { get } var author: String { get set } mutating func 더보기…

Swift 기초 (3): 함수 (function)

함수 (func) Swift의 함수는 자바스크립트의 함수와 개념적으로 매우 비슷합니다. 키워드로 func를 시용합니다. func 함수이름(파라미터1: 자료형, 파라미터2: 자료형…) -> 리턴시자료형 {….return xxx….}   아래 예제는 함수의 기초 사용 형태입니다. func greet(name: String, day: String) -> String { return “안녕하세요. \(name)씨, 오늘은 \(day)요일입니다.” } print (greet(name: “박똑딱”, day: “화”)) 안녕하세요. 박똑딱씨, 오늘은 화요일입니다. 더보기…