본문 바로가기

모바일앱/Swift78

Collection - Set Collection - Set 기본 개념 - 순서가 없다!! - 중복이 없는 유니크한 아이템을 관리할때 사용한다. import UIKit var someArray: Array = [1, 2, 3,1] //[1, 2, 3, 1] var someSet: Set = [1,2,3,1,2] //{3, 1, 2} // collection의 공통 property someSet.isEmpty someSet.count someSet.contains(1) //true someSet.insert(5) someSet //{3, 1, 2, 5} someSet.remove(1) someSet //{2, 5, 3} 2021. 10. 10.
Collection - Dictionary 순서단위인 Array와 달리 의미단위로 찾을때 유용하다. Array는 순서기반으로 찾고 Dictionary는 의미기반으로 찾음 ex) 학생들의 점수관리 import UIKit // //var scoreDic: [String:Int] = ["Jason": 80, "Jay": 95, "Jake":90] ////dictionary는 두가지 타입을 정의한다. [key: Value] // ////var scoreDic: Dictionary = ["Jason": 80, "Jay": 95, "Jake":90] //scoreDic["Jason"] //scoreDic["Jay"] //scoreDic["Jerry"] //nil // ////있을수도 없을 수도 있기 때문에 안정적으로 가져올려면 옵셔널 바인딩으로 //if l.. 2021. 10. 10.
Collection - Array 정말 많은 변수들이 등장한다. 그 많은 변수들을 관리할 때에는 통(collection)에 넣어서 관리를한다. 형식은 1. 앞에서 부터 부장님 차장님 팀장님 그다음 내꺼 2. 각각 부장님 차장님 팀장님 내꺼 스티커 붙이기 등등 여러 통의 종류가 있다. Array Dictionary Set + Closure 우리는 어떻게 엮였을 때 효과적인지를 집중하며 알아보자 Array와 Dictionary는 정말 필수개념이다. Array Element Element Element Element 이 통에 담을 때에는 전부 같은 타입이어야 한다. O 같은 타입 Type 1 Type 1 Type 1 Type 1 X 다른 타입 Type 1 Type 1 Type 2 Type 2 INDEX 각각의 Element에 번호가 붙어있다... 2021. 10. 9.
옵셔널 도전과제 ---- 도전과제 1. 최애 음식이름을 담는 변수를 작성하시고 (String?) 2. 옵셔널 바인딩을 이용해서 값을 확인해보기 1. if let 2. guard 3.forced unwrapping 3. 닉네임을 받아서 출력하는 함수 만들기, 조건 입력 파라미터는 String? 더보기 import SwiftUI //---- 도전과제 //1. 최애 음식이름을 담는 변수를 작성하시고 (String?) //2. 옵셔널 바인딩을 이용해서 값을 확인해보기 1. if let 2. guard 3.forced unwrapping //3. 닉네임을 받아서 출력하는 함수 만들기, 조건 입력 파라미터는 String? var favoriteFood: String? = "김치찌개" print(favoriteFood) // Opt.. 2021. 10. 8.
옵셔널 옵셔널 소개 // Optional?? var name: String="Joon" var dogName:String="Mozzi" var carName:String=??? 이름을 정의 할때, 강아지이름을 정의할 때 사용하는 선언을 보자 만약 자동차이름을 할당해야하는데 아직 내가 자동차가 없다면? 없는 것에 대해 표현하려고 하니 애매해진 경우가 있다. 그런 것은 Boolean을 통해 유무를 먼저 체크를 할 수 있지만. 그것은 코드를 깔끔하지 못하게 만드는 요소이다. 내가 없는 것을 어떻게 표현할 것인가? 어떠한 값을 갖고있지 않는 경우 혹은 반대를 모두 표현할 수 있다. 존재하지 않음은 nil로 표현할 수 있다. Optional은 박스에 비유가능 박스에 value가 있으면 그대로 표현, 없으면 nil로 표현.. 2021. 10. 7.
함수의 고급기능(1. 오버로드 2. In-out parameter 3. 함수안에 함수를 넣기) 기본적인 함수의 구조 func functionName(param: ParamType) -> ReturnType { //..... return returnValue } //external name을 사용하는 경우 func functionName(externalName param: ParamType) -> ReturnType { //..... return returnValue } 1. 오버로드 같은 함수의 이름을 갖지만 파라미터나 리턴이 달라지는 경우가 있는데 그럴때 오버로드가 사용된다. 사실 오버라이딩, 오버로딩은 Swift에 국한된 게 아니라, 객체지향 프로그래밍에서 쓰이는 개념이다 -> 키워드 오버라이드 오버로드 override, overload func sum() { } func sum() { } /.. 2021. 10. 6.
기본함수사용능력 테스트 응용 테스트 // 1. 성, 이름을 받아서 fullname을 출력하는 함수 만들기 // 2. 1번에서 만든 함수인데, 파라미터 이름을 제거하고 fullname 출력하는 함수 만들기 // // 3. 성, 이름을 받아서 fullname을 return 하는 함수 만들기 소스코드는 아래 클릭 더보기 import UIKit // 1. 성, 이름을 받아서 fullname을 출력하는 함수 만들기 // 2. 1번에서 만든 함수인데, 파라미터 이름을 제거하고 fullname 출력하는 함수 만들기 // // 3. 성, 이름을 받아서 fullname을 return 하는 함수 만들기 // print("======> 1번 문제") func printName (firstName: String, lastName: String) {.. 2021. 10. 6.
함수 응용하기 :: 함수 응용해보기 :: 함수는 기본적으로 아래의 형태로 구성되어있다. 함수명(매개변수1: 데이터타입, 매개변수2: 데이터타입) -> 반환값의 데이터타입{ 실행할 함수내용 ruturn 반환할 값 } func totalPrice(price: Int, count:Int) -> Int{ //반환값의 데이터타입 let totalPrice = price * count return totalPrice//건내줄때 사용 } let calculatedPrice = totalPrice(price: 10000, count: 77) calculatedPrice import UIKit //함수와 매서드의 차이 //함수는 독립적 print() //매서드는 엮여서 사용, 오브젝트에 속해서 기능을 수행할 때 price.text p.. 2021. 10. 5.
함수 기본 :: 함수 기본 :: - 출처 : 야곰님 블로그 함수란 어떠한 기능을 수행하는 코드 블럭이다. 어떤경우에는 input만 받고 나오는게 없는경우 intput은 없고 output이 있는 경우 등도 있다. 함수는 마치 자판기와 갔다. 1. 함수선언의 기본형 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } // 예) // sum이라는 이름을 가지고 // a와 b라는 Int 타입의 매개변수를 가지며 // Int 타입의 값을 반환하는 함수 func sum(a: Int, b: Int) -> Int { return a + b } 2. 반환 값이 없는 함수 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2.. 2021. 10. 4.
21.9월.5주 복습(월) - 플로우 컨트롤 ///1.조건문 if ///2.조건문 switch ///3. 반복문 for ///4. 반복문 while. print("================> if문 \n") var isJohn: Bool = true let name = "john" let name2 = "Jane" if name == "john" { print("존이네용") } else { print("존이 아니네?") } print("================> switch문 \n") var animalsAmout = 100 switch animalsAmout { case 0...2 : print("한마리도 없구나?") case 30: print("10마리네?") case 31.. 2021. 10. 4.