분류 전체보기124 [11일차] Array 함수와 Dictionary 실습 1. Array(배열)에 사용하는 다양한 함수 * 배열 변수에 range(범위)를 지정하여 사용 가능 ex) let firstThree = eventNumbers[0..2] * contains() : 배열에 특정 값의 포함 여부 * insert(value, at) : 특정 값(value)을 인덱스(at)에 추가 * removeAll() : 배열 전체를 모두 삭제 * swap(startIndex, endIndex) : 배열의 특정 인덱스 값을 서로 바꿔주는 함수 * for num in eventNumbers { print(num) } * 반복문으로 인덱스와 값을 출력 for (index, num) in eventNumbers.enumerated() { print("idx: \(index), value: \.. 2020. 7. 27. [10일차] Collection 소개, Array 사용법 # 실무에서는 수많은 변수들을 효율적으로 관리할 필요가 있다. * 여러 개의 변수들을 관리하는 도구 - Array - Dictionary - Set - Closure : 코딩 블록 1. Array (배열) - 같은 타입의 변수를 담아야 한다. - 순서(Index)가 존재한다. - 순서가 있는 아이템, 아이템 순서를 알면 유용할 때 사용 # let : 변경하지 않는 변수를 선언할 때 사용 배열 변수로 사용 시, append/remove 불가능 # var : 변경이 가능한 변수. 배열 변수로 사용 가능 2020. 7. 26. [9일차] Optional 고급기능 * Optional 이란? : 없는 것을 표현할 때 사용하는 개념 nil : 존재하지 않는 것을 표현할 때 사용 * 고급 기능 4가지 - Forced unwrapping : 억지로 박스를 까보기 - Optional binding (if let) : 부드럽게 박스를 까보기 1탄 - Optional binding (guard) : 부드럽게 박스를 까보기 2탄 - Nil coalescaing : 박스를 까봤더니, 값이 없을 때 기본값을 줘보자 * 도전 과제 * if let : 변수값을 출력 및 확인 * guard : if let 보다 코드를 간결하게 표현 가능 2020. 7. 25. [8일차] Functional 고급 기능 * Functional 함수 중간 과제 (실습) - 총 3문제 - 1. 성, 이름을 받아서 fullName을 출력하는 함수 2. 1번에서 만든 함수인데, 파라미터 이름을 제거하고 fullName을 출력하는 함수 3. 성, 이름을 받아서 fullName을 return 하는 함수 온라인 학습할 때는, 반드시 중간에 제시하는 문제를 Pause(일시정지) 버튼을 이용해서 스스로 생각해서 코드를 구현하는 시간을 가져야 한다. ▹ 함수를 한마디로 정의한다면? : 함수는 자판기다. - 다양한 함수의 형태 (1) input만 있는 경우 (2) output만 있는 경우 (3) input, output 둘 다 있는 경우 (4) input, output 없이 내부 기능만 수행하는 경우 * 함수 형태 (전체적인 틀) func.. 2020. 7. 24. [7일차] for, switch, Functional 사용법 * for ~ loop 조건절 : where (조건) 사용 --> 코드의 간결성이 좋음. #현업에서는 중첩 for문을 사용하지 않는다. (이유: 가독성이 떨어지고, 불필요한 자원 낭비가 발생할 가능성 있음) * continue 사용 : for 반복문 내에서 특정한 조건(if)에 해당하는 경우는 pass 하고, 그다음 순서를 실행 * switch ~ case 사용 * Functional and Optional Method와 Function은 다르다. - object.methodName() : Method - functionName() : Function 일반적으로 Method는 Object(객체)에 종속되어 사용된다. 하지만, Function의 경우에는 독립적으로 사용이 가능하다. * func() 에서 파.. 2020. 7. 23. [6일차] Flow Control * Flow Control : if~else, switch, for, while 등의 코드 상의 흐름을 조절하는 코드 블럭 * While : 조건 -> 코드 수행 * Repeat : 코드 수행 -> 조건 * 반복문 내에서 사용되지 않는 변수는 '_' (언더스코어)를 추가해서 처리 * for ~ loop range(범위 지정)를 이용하여 반복할 숫자의 범위를 표현 2020. 7. 22. [알뜰 Tip] 아이폰 기본 카메라 무음 설정 방법 iOS 13.6 버전 업데이트 이후부터 기본 카메라 앱에서 무음설정이 가능하다. 한마디로 이제부터 기본 카메라 앱을 이용해서 사진 촬영을 하더라도 ‘찰칵’ 소리 없이 조용히 촬영이 가능하다. 1. [설정] - [일반] - [정보] - 소프트웨어정보 버전 확인 2. iOS 13.6 이상인 경우, ‘단축어’ 앱을 실행 3. [개인용 자동화 생성] - [앱 열기] 선택 4. 앱 열기 창에서 ‘카메라’ 검색 -> [+동작 추가] -> ‘음량 설정’ 선택 5. 음량을 0%로 최소화 설정 -> [실행전이 묻기] 비활성화 처리 -> 팝업창에서 ‘묻지 않기’ 선택 그 동안 카페에서 마음에 드는 책장 글귀를 촬영할 때 찰칵 거리는 소리에 불편했는데 꽤나 유용한 기능이 업데이트 되었다. 실제로 카메라 앱을 실행하여 촬영을.. 2020. 7. 22. [5일차] 스위프트 기초 (Playground, Tuple, Boolean) * Swift 기초 - Swift Playground - Comment (주석) - Tuple - Booleans - Scope (1) Swift Playground : Swift를 가지고 놀 수 있는 놀이터. 실무에서는 페어 프로그래밍, 간단한 테스트 코드 작성할 때 사용한다. # 페어프로그래밍이란? : 한 명은 타이핑을 하고, 한명은 네비게이터 역할을 하여 실시간 리뷰를 진행하는 방식이다. (2) Tuple 서로 관계가 있는 데이터를 한 번에 표현하고자 할 때 유용하다. ex) x, y, z 좌표를 표현하고자 할 때 사용 (3) Booleans 조건절이나 논리 연산자를 이용하여 다양한 수식을 표현하고자 할 때 사용 * 삼항 연산자 (? : ) : 보통의 if ~ else 문장을 사용 시, 간단히 한 .. 2020. 7. 21. [4일차] AutoLayout (오토레이아웃) AutoLayout이란? 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산합니다. 우선 AutoLayout을 이용하기 전에 앞서, 현재 개발 중인 UI가 다양한 디바이스에 어떻게 보이는지를 미리 확인할 수 있다. * Adjust Editor Options > Preview 기능을 이용하여 다양한 디바이스에서 레이아웃의 호환성 여부를 확인 위 그림처럼 현재 개발중인 앱의 UI를 다양한 디바이스에서 확인이 가능하다. 오토레이아웃 기능을 XCode에서 자동으로 완성시켜주는 기능이 있다. 바로 'Add Missing Constraint'이다. 하지만, 자동으로 만들어주는 기능이다 보니 완벽하진 못하다. 현업에서는 해당 기능을 이용하기보다는 개별적으로 설정값을 할당해주는 편이라고 한.. 2020. 7. 21. 이전 1 ··· 9 10 11 12 13 14 다음