목록Swift (45)
브래의 슬기로운 코딩 생활
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bczhdy/btrVWzfoISI/8aUcKqkZ0YoXfjDWG38WQK/img.png)
함수 특정 작업을 수행하는 코드 블록 수행하기 위하여 데이터가 제공될 수 있으며, 함수를 호출한 코드에 작업한 결과를 반환할 수도 있음 매개변수(parameter,인자)와 인수(argument)는 차이점이 있음 함수 정의부의 값을 매개변수, 호출시의 값은 아규먼트라고 부름 #include void Fun( int Param ) // parameter(매개변수, 인자), 형식 매개변수(formal parameter) { printf("%d",Param); } int main() { Fun( 10 ); // 10은 argument(인수), 실 매개변수(actual parameter) return 0; } 매개변수 인자 리턴값 메서드(method) 특정 클래스, 구조체, 열거형 내의 함수 함수를 스위프트 클래..
![](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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b9StnD/btrVOcDTWkH/5ZOEGcEAmIzGbkioBA80j0/img.png)
연산자의 우선순위와 결합성 기본 할당 연산자 할당 연산자(=)는 두 개의 피연산자를 가짐 왼쪽에 있는 피연산자는 값이 할당되는 변수 또는 상수이며, 오른쪽에 있는 피연산자는 할당할 값 오른쪽 피연산자는 주로 산술식 또는 논리식을 수행하는 표현식이며, 그 결과는 왼쪽 피연산자인 변수나 상수에 할당 var x: Int? // 옵셔널 Int 변수를 선언함 var y = 10 // 일반 Int 변수를 선언하고 초기화함 x = 10 // 값을 x에 할당함, Optional(10) x = x! + y // x + y의 결과를 x에 할당함, Optional(20) x = y // y의 값을 x에 할당함, Optional(10) 산술 연산자 보통 두 개의 피연산자를 받는 이항(binary) 연산자 예외로는 값이 음수임..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/DoKqC/btrVAKnCy12/W3BP5tA7VDPRDAPJVbd710/img.png)
Int형 vs Optional Int형 10 Int Int 형 값을 저장 - var x : Int = 10 Optional(10) Int? / Int! Int형 값을 저장 or 값이 없음(nil) - var y : Int? = 10 - var z : Int! 옵셔널 타입(매우 중요) 값을 반환할 때 오류가 발생할 가능성이 있는 값은 옵셔널 타입이라는 객체로 감싸서 반환함 - Swift에서 기본 자료형(Int, Double, String 등)은 nil값을 저장할 수 없음 - nil을 저장하려면 옵셔널 타입으로 선언해야 함 옵셔널 타입은 변수 또는 상수에 아무런 값이 할당되지 않는 상황을 안전하게 처리하기 위한 방법 제공 옵셔널 타입 변수를 선언하기 위해서는 타입 선언부 뒤에 “?” 문자를 씀 - 주의 : ..
데이터 타입(자료형, data type) 정수형 숫자를 저장하는 변수 - var myNumber = 10 - myNumber라는 이름의 변수를 생성했으며, 숫자 10을 할당 - var myNumber : Int = 10 (위와 같이 초깃값이 있을 경우에는 컴파일러가 타입 추론(type inference)을 하므로 데이터 타입을 명시할 필요 없음) Bool, Character, Int, Float, Double, String, Void var x : Int x = 10 //주의 error '=' must have consistent whitespace on both sides ('=' 양쪽에 일관된 공백이 있어야 함) 일반적으로 초깃값을 주지 않을 경우에만 자료형을 씀 - var welcomeMessage..
이 카테고리의 글의 출처이다. - Smile Han의 iOS프로그래밍 기초(내년 출간 예정 강의 자료 무료 배포) - Do it! 스위프트로 아이폰 앱 만들기 입문(개정 6판) 송호정, 이범근 저, 이지스퍼블리싱, 2022.2.28 http://www.techotopia.com/index.php/IOS_8_App_Development_Essentials - iOS 12 App Development Essentials - 인덕대학교 컴퓨터소프트웨어학과 한성현 교수님의 iOS프로그래밍 수업자료
오늘은 저번주에 만들 던 프로그램 마저 만들고 새로 간단한 프로그램을 만드는 실습을 했다. 단순히 버튼을 누를 때 마다 1씩 더하는 프로그램을 만들었는데 생각보다 쉬워서 놀랐다. 물론 더 어려운 프로그램은 훨씬 어렵겠지만 나중에 이걸 직업으로 삼아도 나쁘지 않겠다는 생각을 헀다.
오늘은 강의 실습실에 있는 맥 미니를 이용해서 직접 XCode로 간단한 앱을 만드는 것을 실습했다. 음 코드는 진짜 거짓말 안치고 한줄만 쳣는데 은근 어렵고 은근 오래걸렸다. 그래도 재미있었다. 사실 이번 시간에는 별로 배운건 없어서 쓸 말이 별로 없다... 맥 사용 방법에 대해 공부하고 XCode사용 방법 등등을 공부했다. 근데 교수님께서 폭풍진도를 나가셔서 많이 힘들었다.
![](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 // 클로저 표현식 코드 } 후행 클로저 -클로저가 함수의 마지막 아규먼트라면 마지막 매개변수명을 생략한 후 함수 (소괄호 외부에)클로저를 작성 클로저의..