본문 바로가기

모바일앱199

Day11_extra_Tuple import UIKit // 튜플 : 지정된 데이터의 묶음 //String, Int, Double 타입을 갖는 튜플 var person: (String, Int, Double) = ("yagom", 100, 182.5) // #1 인덱스를 통해서 값 호출하기 print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)") // -> 이름: yagom, 나이: 100, 신장: 182.5 // #2 인덱스를 통해서 값 할당하기 person.1 = 99 person.2 = 178.5 print("이름: \(person.0), 나이: \(person.1), 신장: \(person.2)") // -> 이름: yagom, 나이: 99, 신장: 178.5 // #3 파라미터가.. 2021. 12. 7.
Day10 closure import UIKit //클로저 //클로저 자체는 메소드를 실행하게 되는 것 //#1 String을 반환하는 클로저 let myName : String = { // myName 으로 들어간다 return "기꼬" }() print(myName) // -> 기꼬 //#2 매개변수가 있는 클로저만들기 // 클로저 정의 //let myRealName = { (name: String) -> String in // return "개발하는 \(name)" //} //클로저 정의 //myRealName이라는 클로저를 실행하게 되면, String자료형의 name이라는 매개변수로 받아서 최종적으로 String을 내뱉는 클로저 let myRealName : (String) -> String = { (name: Strin.. 2021. 12. 3.
Day09 generic 제네릭을 이용해 코드를 구현하면 어떤 타입에도 유연하게 대응할 수 있다. 제네릭으로 구현한 기능과 타입은 재사용하기도 쉽고, 코드의 중복을 줄일 수 있다. 제네릭을 사용하고자 할 때는 제네릭이 필요한 타입 또는 메서드의 이름 뒤의 홀화살괄호 기호 사이에 제네릭을 위한 타입 매개변수를 써주어 제네릭을 사용할 것임을 표시한다. 제네릭 타입 제네릭 타입을 구현하면 구조체, 클래스, 열거형 등이 어떤 타입과도 연관되어 동작할 수 있다. 제네릭 타입을 정해주면 그 타입에만 동작하도록 제한할 수 있어 안전하고 의도한 대로 기능을 사용하도록 유도할 수 있다. import UIKit // 제네릭 : 어떤 자료형이라든지 받을 수 있다. // : 제네릭 표기 //보통은 SomeElement가 아닌 "T"로 입력한다. st.. 2021. 12. 3.
Day08 function parameter // #함수 매개변수 이름 function parameter 함수, 메소드 정의 func myFunction(name: String) -> String { return "안녕하세요? \(name)입니다!" } // 함수, 메소드를 호출한다. call myFunction(name: "기꼬") // -> "안녕하세요? 기꼬입니다!" 매개변수에 새로운 매개변수(파라미터) 사용 -> 실제 로직처리는 name으로 처리하지만 호출할 때, 다른 이름 사용가능 // 함수, 메소드 정의 func myFunctionSecond(with name: String) -> String { return "안녕하세요? \(name)입니다!" } myFunctionSecond(with: "호롤롤로") // -> "안녕하세요? 호롤롤로.. 2021. 12. 3.
Day07 property_observer Property Observers(프로퍼티 옵저버) Apple : Property Observers(프로퍼티 옵저버)를 정의해서 프로퍼티 값의 변경을 모니터링 할 수 있습니다. 프로퍼티 옵저버는 자신이 정의한 "저장 프로퍼티"에 추가 할 수 있으며, super class(부모클래스)를 상속한 프로퍼티에도 추가 할 수 있습니다. 프로퍼티 옵저버는 프로퍼티 값의 변화를 관찰하고, 이에 응답합니다. 프로퍼티 옵저버는 새로운 값이 프로퍼티의 현재값과 "동일하더라도" 속성의 값이 설정(set)될 때 마다 호출됩니다. ● willSet - 값이 저장되기 직전에 호출됩니다. ● didSet - 새로운 값이 저장된 직후에 호출됩니다. import UIKit var myAge = 0 { willSet{ print("값이.. 2021. 12. 2.
Day06 class_struct // 변수하나하나를 묶는 방법이 클래스와 스트럭트 두가지가 있다. struct YoutuberStruct { var name : String var subscribersCount: Int } // 메모리에 올리는데 name과 subscribersCount를 쓰라고 정함 var devGikko = YoutuberStruct(name: "기꼬", subscribersCount: 99999) var devGikkoClone = devGikko devGikkoClone.name = "호롤롤로" class YoutuberClass { var name : String var subscribersCount: Int // 처음에 메모리에 올리려면 위의 name과 subscribersCount에 대한 값이 없는 상태이기.. 2021. 11. 30.
Day05 Unwrap_Optional // 옵셔널이란? 옵션이 있을 수도 있고 없을 수도 있다-> 값이 있을 수도 없을 지 모른다. #1 강제 언래핑 #2 if let //만약 값이 있다면 otherVariable에 넣어 사용하겠습니다. if let otherVariable = someVariable { print("언래핑되었다. 즉 값이 있다. otherVariable: \(otherVariable)") } else { print("값이 없다.") } // -> 언래핑되었다. 즉 값이 있다. otherVariable: 90 #3 guard let func unwrap(parameter: Int?){ print("unwrap() called") // 값이 없으면 리턴해버리겠다. // 즉 지나간다. guard let unWrappedParam.. 2021. 11. 29.
Day04 For_Loops For 반복문은 for each와 거의 같다 레인지를 활용하는 방법 익히기 📌이상 이하 0...5 📌이상 미만 0.. index 혹은 iterate 때문에 i로 쓰는게 일반적 -> i를 나중에 다시 쓰지않는다고 알림창이 뜨기때문에 _로 대체사용가능 📌where 이후는 반복을 위한 조건을 사용할 수 있음 짝수일때 //for index in 0.. 2021. 11. 29.
Day03: enum enum 1. enum 선언하기 2. 값을 가질 수 있다. 3. 파라미터를 가질 수 있다. 4. enum안에 함수를 만들어 사용할 수 있다. import UIKit // #1 // 학교 - 초, 중, 고 enum School { // case elementary // case middle // case high case elementary, middle, high } let yourSchool = School.high print("yourSchool : \(yourSchool)") //print("yourSchool:", yourSchool) //-> yourSchool: high //#2 enum은 값을 가질 수 있다. enum Grade: Int { case first = 1 case second =.. 2021. 11. 29.
Day02 : For-each(자료 보강 필요) 반복문 콜렉션은 데이터를 모아둔 것이다. 배열, 셋, 딕셔너리 가 있다. 튜플도 비슷하지만 약간 다른 성격을 가지고 있다. For-In Loops는 배열안에 들어있는 데이터의 수 만큼 반복하는 것이다. For-In Loops에 where을 사용하면 조건을 넣을 수도 있다. 아직 초반이라 for - each에 대해 자세히 설명하기는 어렵다. 메서드에 대해 배우고 다시 포스팅 예정 참고 : https://babbab2.tistory.com/95 Swift) for - in / forEach 제대로 알고 쓰기 안녕하세요 :) 소들입니다 🌸 오늘은 우리가 Swift로 프로그래밍을 하다보면 정말정말 많이 쓰는 for - in forEach 에 대해서 알아보려고 해요!!!! 이 둘의 사용법은 물론 차이점에 대해서도.. 2021. 11. 28.