iOS(macOS)

·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 🧐 익스텐션(Extension) 클래스, 구조체, 열거형, 프로토콜 타입에 기능을 추가(확장)할 수 있다. 클래스를 상속받지 않아도 되고, 원본 코드를 몰라도 기능을 확장시켜서 사용할 수 있도록 하는 문법이다. (새 기능을 추가할 수는 있지만, Override는 할 수 없음.) 📎 사용법 // 숫자(int) 짝수, 홀수 extension Int { var oddOrEven: String { if self % 2 == 0 { return "짝수" } else { return "홀수" } } } print(3.oddOrEven) // 출력: "홀수" print(4.oddOrEven) // 출력: "짝수" 기본 자료형(Int, Float, String 등)은 구조체(struc..
·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 🧐 클래스(Class) 클래스는 참조 타입(Reference Types)이다. 따라서 원본의 값이 변경될 수 있음을 유의해야 한다. 그리고 클래스 내부에 선언된 프로퍼티(멤버 변수)는 반드시 초기화가 되어야만 한다. 따라서 클래스는 반드시 하나 이상의 생성자를 가져야 하고, 생성자를 통해 프로퍼티를 초기화 해주어야 한다. 만약 변수 선언과 동시에 초기화를 한다면 생성자에서 초기화를 하지 않아도 에러가 발생하지는 않고, 초기화를 하기 어려운 변수라면 옵셔널로 선언해야 한다. 📎 init(생성자) - Designated Initializer(지정 생성자) class UserInfo { var name: String var id: String // 지정 생성자 init(nam..
·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 🧐 enum(열거형) 기본 사용법 📎 기본 생성 enum Weekday { case mon case tue case wed, thu, fri, sat, sun } // 할당 let day: Weekday = Weekday.mon - 열거형 타입의 이름은 대문자로 시작하는 것을 권장한다. 📎 switch - case switch day { case .mon, .tue, .wed, .thu, .fri: // 타입 생략 가능 print("평일") case Weekday.sat: print("토요일") case .sun: print("일요일") } 📎 if - else if day == Weekday.fri { print("불금!") } else { print("불금이 아님 ㅜ..
·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 클로저(Closure)는 다른 언어의 람다(lambdas)와 비슷한 개념이다. 🧐 Closure 생성 방법 예시) 아래의 함수는 Int 타입의 매개변수를 받아서 "score: ~~"으로 반환해주는 함수이다. func getScore(a: Int) -> String { return "score: \(a)" } print(getScore(50)) // 출력: "score: 50" 위의 함수를 클로저로 구현하면 아래와 같다. let getScore = { (a: Int) -> String in return "score: \(a)" } print(getScore(100)) // 출력: "score: 100" 📎 축약형 - 클로저의 내부 코드가 한 줄 일때 return을 생략할 ..
·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 🧐 제어문(Control flow)Swift에서 제공하는 많은 제어문(Control flow) 중while loop / for-in / if guard / switch 문의 사용법에 대해 정리해보았다.📎 for-inlet initial = "MCH"let names = ["Adrian", "Mike", "Tom"]for char in initial {    print(char)}// M// C// Hfor name in names{    print(name)}// Adrian// Mike// Tomfor index in 0...5 {    print(index)}// 0 ~ 5for index in 0... 📎 while / repeat-whilerepeat-whi..
·iOS(macOS)/Swift
간략한 스위프트 문법/사용법 정리 🧐 Array(배열) 📎 배열 생성 방법[빈 배열 생성하기]var products = Array() // 정식 문법var ages = [Int]() // 축약형(일반적으로는 축약형을 주로 사용한다고 한다.)  [기본값 할당하며 생성하기]// 3칸짜리 Int 타입 배열 생성.var Dobules = Array(repeating: 0, count: 3) // [0, 0, 0]// 리터럴 활용var shoppingList: [String] = ["Eggs", "Milk"]var items = ["pen", "card"] // 축약형- 축약형으로 선언하면 타입 추론에 의해 배열의 타입이 결정된다.  📎 원소 추가, 제거, 접근 방법 [원소 추가]// 원소를 맨 뒤에..
·iOS(macOS)/Swift
간략한 스위프트 문법 정리 🧐 [var, let, Tuples] (변수, 상수, 튜플) 📎 변수, 상수 선언 방법 // 변수 var str = "Hello" var age = 10 // 상수 let name = "MCH" let year = 2022 변수/상수의 타입을 미리 지정해놓지 않아도, 타입 추론(Type Inference)을 통해 변수/상수의 타입을 자동으로 지정해준다. 위 방법은 편리하지만, 예상하지 못한 문제를 야기할 수도 있으므로 타입 어노테이션(Type Annotation)을 통해 변수/상수의 타입을 개발자가 미리 지정해주는 것이 좋다. // 타입 어노테이션(Type Annotation) var str: String = "Hello" let height: Float = 180.0 var ..
·iOS(macOS)/Swift
Xcode 13 버전부터 파일의 확장자를 기본적으로 숨기도록 변경되었다고 한다.  나는 확장자가 보여야 속이 편해서.. 확장자가 보이도록 설정을 다시 변경해서 사용하고 있다. [설정 방법]1. [command + ,] 또는 좌측 상단 [Xcode] - [Preferences...] 클릭.2. [General] 탭 - [File Extensions] 항목을 "Show All"로 변경.  곧바로 변경되는 것을 확인할 수 있다.  [해결방법 출처] Xcode 파일확장자 보이게하는법왼쪽부분에서 파일들 보면 파일확장자가 안나와있네요... 해결방법 알려주실분??kin.naver.com
·iOS(macOS)/Swift
스토리 보드로 UI를 개발할 때, App이 launch 될 때 보여줄 첫 화면을 설정하는 방법은 두 가지가 있다. 하나는 "AppDelegate.swift" 파일에서 코드로 설정하는 방법이고,나머지 하나는 Xcode에서 해당 앱의 프로젝트 설정 화면에서 설정을 해주는 방법이다.  1. 프로젝트 설정 화면 진입2. [General] 클릭3. [Deployment Info] - [Main Interface] 항목을 원하는 항목으로 설정.