모바일앱199 옵셔널 옵셔널 소개 // 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. 21.9월.5주 복습(일) - 플로우 컨트롤 오늘의 공부방식 1. 그냥 챕터에 해당하는 문장을 오늘 일어날 일에 맞춰서 작문 2. 그에 맞게 문제 풀이 해보기 if 예문만들기 1. 배가고프다면 라면 먹을까 // 아침엔 라면 안돼 2. 8시가 되면 아침 예배를 드린다 // 못일어나면 예배 못드림 3. 코로나때문에 비대면 예배드린다 //코로나 bool -> 대면 / 비대면 4. 내가 5개 이상 문법 예문을 만들었다. // 이번 챕터 넘어가기 5. 냉장고에 김치가 있다면 좀이따 먹는다 더보기 // --------- 1. 배고프다면 밥먹자 var isHungry : Bool = true if isHungry { print("밥먹자") } else { print("좀 이따 먹자") } // --------- 2. 아침에 일어나면 8시 예배를 가자 var g.. 2021. 10. 3. 21.9월.5주 복습(토) - 플로우 컨트롤 조건문 switch문 switch value { case value1: respond to value 1 case value2, value3: respond to value 2 or 3 default: otherwise, do something else } switch - interval Matching (범위연산자) Switch - tuple Matching Switch문 값 바인딩 Switch문 where문 for element in sequenceData { //실행 코드 } IF문, Switch문 예문만들기 // -----> if문 // 하루에 10번이상 전화를 해야 내가 사랑하는지 알수 있다고 한다. 내가 하루에 30번 전화를 한다면? var callToWifePerDay : Int = 30 i.. 2021. 10. 2. (중간점검) 문법 공부 중 느낀 점 1. 기존 작전 1.1빠르게 훑어보기 일단 스위프트를 빠르게 훑어보려는 작전이고 그걸 어떻게 응용하는지 반복 학습을 하려고 했다. 여기서 응용이란 이게 내가 만들고싶은 결과물에 어떤 영향을 미치는지를 말한다. 1.2 문제 풀어보기 하지만 문법을 외우는데 급급해서 자꾸 안외워지는 것만 들여다 보고 있었다. 어느정도 이 방법도 맞긴 하지만 이걸 써봐야하겠다는 생각이 들었다. 일단 백준 단계별문제풀이를 풀어봤는데 일단 입출력 2번문제에서 막혔다. 1.3 모르는 것 파악하기 - 보간법 기본적으로 보간법이 익숙치가 않았던게 원인이었다. https://h1guitar.tistory.com/32?category=959106/ 명명법 / 콘솔로그 / 문자열 보간법 1. 명명법 Lower Camel Case : fuct.. 2021. 10. 2. 컬렉션 타입 :: 컬렉션 타입 :: 출처 - 야곰님 블로그 Array - 순서가 있는 리스트 컬렉션 Dictionary - '키'와 '값'의 쌍으로 이루어진 컬렉션 Set - 순서가 없고, 멤버가 유일한 컬렉션 1. Array 멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입 여러가지 리터럴 문법을 활용할 수 있어 표현 방법이 다양합니다. // 1. Array 선언 및 생성 var integers: Array = Array() // 위와 동일한 표현 // var integers: Array = [Int]() // var integers: Array = [] // var integers: [Int] = Array() // var integers: [Int] = [Int]() // var integers: [Int.. 2021. 10. 2. 이전 1 ··· 15 16 17 18 19 20 다음