목록스위프트 (23)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dXmjgD/btr6GWydyey/nijpCovvAEl5ek97G1UnO0/img.png)
오늘은 가장 중요하다고 할 수 있는 1급 객체,1급 시민 / 클로저 / 생성자 등등을 복습했다. 1급 객체(first class object) / 1급 시민(first class citizen) 1급 객체(first class object) 또는 1급 시민(first class citizen) https://en.wikipedia.org/wiki/First-class_citizen First-class citizen - Wikipedia From Wikipedia, the free encyclopedia Concept in programming language design In programming language design, a first-class citizen (also type, object, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkhFpM/btr5oz4sBlW/tdqnxt7jleop2ske9THG00/img.png)
오늘은 거의 전부 지난주차 내용 복습만 했다. 아마도 저번주 내용이 중요도가 높기도 하고 동영상 강의 였어서 그런 것 같다. 이번 시간에 교수님 께서 언급하시고 중요한 내용만 일단 정리해 보겠다. 일반적으로 초깃값을 주지 않을 경우에만 자료형을 씀 정수 데이터 타입 : Int 부동 소수점 데이터 타입: Double 부울 데이터 타입 : Bool 문자 데이터 타입 : Character 문자열 데이터 타입 : String 변수 : var 상수 : let 튜플(Tuple) Void는 빈 튜플 이다. = () typealias Void = ()* ()는 빈 튜플(empty tuple) 함수(메서드)를 선언할 때 반환 값이 없으면 반환형을 지정할 필요 없음 그러나 함수, 메서드 또는 클로저의 형(type)에는 반..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/2OskE/btr3ofGhrTn/jBQrVqVI7kodLbA7ysGE2k/img.png)
이번 주차는 엠티 때문에 동영상 강의로 대체되었다. 주된 내용은 지난학기에 배운 내용 복습이었다. 데이터 타입(자료형, data type) Bool, Character, Int, Float, Double, String, Void 자료형의 종류와 크기가 궁금해요 var x = 10 print(type(of:x)) let s = MemoryLayout.size(ofValue: x)//8 일반적으로 초깃값을 주지 않을 경우에만 자료형을 씀 정수 데이터 타입 : Int \(출력하고 싶은 변수나 상수) 부동 소수점 데이터 타입: Double 부울 데이터 타입 : Bool 문자 데이터 타입 : Character 주의 : 초깃값은 작은 따옴표가 아니고 큰 따옴표 var myChar3 : Character = "X" ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cEi2Rf/btr2IwXnJAh/K3Sujw2X8uTLBnv4D7trh1/img.png)
과제: 자신의 이름 10번 반복 출력 소스 for i in 1...10{ print("김동현") } chatGPT에게 옵셔널 바인딩 예제를 들고 설명해 달라고 하기 let myOptional: Int? = 42 if let value = myOptional { print("The value of myOptional is \(value)") } else { print("myOptional is nil") } 이 코드에서는 myOptional변수가 옵셔널 Int 형식입니다. 만약 myOptional변수가 nil이 아니라면, 새로운 상수 value가 만들어집니다. value상수는 이후 코드에서 옵셔널 형식을 가지지 않습니다. 따라서 value를 사용할 때, 옵셔널 추출 없이도 안전하게 접근할 수 있습니다. 예..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cK6VBW/btrVU9Nrl6a/ErbCyyDYRC9DUlnSOnerQk/img.png)
guard문(조건식이 거짓이면 실행) guard문은 swift 2에 도입된 구문 guard문은 표현식이 거짓(false)으로 판단될 경우에 수행될 else 절을 반드시 포함해야 함 - else 절에 속한 코드는 현재의 코드 흐름을 빠져 나갈 수 있는 구문(return, break, continue, throw 구문)을 반드시 포함해야 함 - 또는 다른 함수를 else 코드 블록 안에서 호출할 수도 있음 guard else { // 표현식이 거짓일 경우에 실행될 코드 } // 표현식이 참일 경우에 실행되는 코드는 이곳에 위치 guard문은 기본적으로 특정 조건에 맞지 않을 경우에 현재의 함수나 반복문에서 빠져 나갈 수 있도록 하는 ‘조기 출구(early exit)’ 전략을 제공 guard~let의 활용 g..
오늘은 저번주에 만들 던 프로그램 마저 만들고 새로 간단한 프로그램을 만드는 실습을 했다. 단순히 버튼을 누를 때 마다 1씩 더하는 프로그램을 만들었는데 생각보다 쉬워서 놀랐다. 물론 더 어려운 프로그램은 훨씬 어렵겠지만 나중에 이걸 직업으로 삼아도 나쁘지 않겠다는 생각을 헀다.
오늘은 강의 실습실에 있는 맥 미니를 이용해서 직접 XCode로 간단한 앱을 만드는 것을 실습했다. 음 코드는 진짜 거짓말 안치고 한줄만 쳣는데 은근 어렵고 은근 오래걸렸다. 그래도 재미있었다. 사실 이번 시간에는 별로 배운건 없어서 쓸 말이 별로 없다... 맥 사용 방법에 대해 공부하고 XCode사용 방법 등등을 공부했다. 근데 교수님께서 폭풍진도를 나가셔서 많이 힘들었다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/VVPdz/btrP3Sx7pqZ/HmSWwETS3N7IGZ9X6nySBk/img.png)
프로퍼티에는 저장 프로퍼티와 계산 프로퍼티가 있다. 저장 프로퍼티는 초기값이 있어야 하고 계산 프로퍼티는 안에 값을 리턴하는 getter 메서스와 값을 대입하는 setter 메서드가 필요하다. getter는 setter가 없으면 생략가능 하지만 setter가 있다면 생략할수 없다. 매개변수명은 newValue가 기본이며 매개변수명이 newValue면 (myValuie)를 생략할 수 있다. 메소드 오버로딩 - 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러개 정의 할 수 있다. init?는 Failable Initializer (실패 가능한 생성자) 이다. ,so 나 .dylib - shared obhect - sharped library - 윈도우의 dll - 동적 링크 라이브러리 (프로그램 실..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/853ww/btrPsObXPIK/NSXPZvVGYleib8kM0z4e7k/img.png)
iOS 프로그래밍 기초 변수의 자료형의 종류와 크기 – print(type(of:변수명)) 일반적으로 초기값을 주지 않을 때만 자료형을 쓴다. 정수 데이터 타입 – Int 부동 소수점 데이터 타입 – Double 부울 데이터 타입 – Bool 문자 데이터 타입 – Character 문자열 데이터 타입 –String 변수: var 상수: let 튜플 (Tuple): 여러 값을 하나의 개체에 일시적으로 묶는 방법 let myTuple = (10, 12.1, "Hi") print(type(of:myTuple)) // (Int, Double, String) let myTuple = (count: 10, length: 12.1, message: "Hi") print(type(of:myTuple)) // (coun..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nMUk3/btrOSltP6G0/kiZADSvKIV5jhEPUjbmpRK/img.png)
다음주 가 시험이라서 오늘은 그동안 배운 내용 전부 복습을 한번하고 진도는 조금만 나갔다. 오늘까지 배운 내용이 중간고사 범위이고 오픈북 시험이라 정리를 잘 해가야 할 것 같다. 일단 저번 수업의 중요 내용은 swift 함수는 1급 객체 이다. swift 함수는 1. 변수에 저장할 수 있다 2. 매개변수로 전달할 수 있다. 3. 리턴값으로 사용할 수 있다. 주의: 함수를 변수나 상수에 저장하고 호출할 때에는 매개변수명을 안쓴다. 클로저 - 익명 함수 - 클로저 표현식은 독립적인 코드 블록 {(매개변수 이름:매개변수 타입, ... ) -> 반환 타입 in // 클로저 표현식 코드 } 후행 클로저 -클로저가 함수의 마지막 아규먼트라면 마지막 매개변수명을 생략한 후 함수 (소괄호 외부에)클로저를 작성 클로저의..