본문 바로가기

분류 전체보기

(313)
026 ~ 035. Activity Indicator, Progress View, Stack View and Alert Controller Activity Indicator 작업 완료 시점을 정확히 알 수 없는 상태에서 작업이 진행 중이라는 피드백을 주기 위해 사용한다. 화면 구성은 위와 같다. Style iOS 13부턴 위에 존재하는 옵션을 사용한다. Activity Indicator의 크기를 Large와 Medium으로 변경할 수 있다. iOS 13 이전엔 아래에 존재하는 옵션을 사용했다. Activity Indicator의 스타일을 기본 크기의 흰색, 회색과 큰 크기의 흰색으로 설정할 수 있다. Color Activity Indicator의 색상을 변경할 수 있다. Animating 해당 옵션이 활성화되지 않았다면 직접 메서드를 호출해 애니메이션을 시작해야 한다. 활성화되어 있다면 표시되는 순간 자동으로 애니메이션이 시작된다. Hide..
049 ~ 060. Functions (함수) Functions 특정한 기능을 수행하는 코드 조각이다. 코드의 재사용이 가능해 지기 때문에 유지보수에 유리해진다. Calling Functions (함수 호출) Syntax functionName(parameters) print("hello") 결과 hello Defining Functins (함수 정의) Syntax func name(parameters) -> ReturnType { statements } func printHello() { print("hello") } printHello() 결과 hello Return Values (반환) Syntax func name(parameters) -> ReturnType { statements return expression } func add() ->..
043 ~ 048. Optionals Optionals let num: Int print(num) 결과 //error 변수와 상수는 사용하기 전 반드시 초기화해야 한다. 하지만 초깃값을 비워야 하는 경우 해결책으로 0을 비었다고 사용한다. 특정 문자열을 비었다고 사용한다. 을 사용하는 경우 각각 0을 다른 방법으로 사용 할 수 없다. 자료형을 항상 문자열로 고정 할 수는 없다. Syntax TypeName? let optionalNum: Int? = nil print(num) 결과 nil nil은 c나 기타 언어의 null과 같은 역할을 한다. Optional은 '값이 비어있음'을 표현할 수 있는 자료형이다. Unwrapping var num: Int? = nil print(num) num = 123 print(num) 결과 nil Opti..
020 ~ 025. Slider, Segment Control, Switch and Stepper Slider Default Slider Slider는 보통 0에서 1 사이의 값을 가지며, 기본 값은 그 중간인 0.5이다. 따라서 씬에 나타나는 Slider의 컨트롤러인 'thumb'는 중간에 위치한다. slider는 thumb을 움직여 값을 조절할 수 있고, 조절할 때마다 slider의 value 속성이 변화한다. value는 왼쪽으로 갈수록 작아지고, 오른쪽으로 갈수록 커지며, 양 끝에 도달하면 더 이상 진행하지 않는다. thumb이 이동할 때마다 valuChanged 이벤트가 전달되고 이는 target-action으로 처리한다. 목표는 각 slider를 통해 RGB값을 변경하고, 해당 RGB값으로 rootView의 backGroundColor를 설정한다. // // SliderViewControl..
014 ~ 019. Button, Picker and Page Control Target Action 007 ~ 013. View & Window (뷰와 윈도우)) 007 ~ 008 강의는 Xcode9 -> Xcode11 마이그레이션 강의로 따로 정리하지 않는다. View & Window Window(윈도우)와 View는 디바이스의 화면과 UI를 출력하고, 이벤트를 처리한다. 모든 앱은 적어도 하나 이상의 chillog.page 이전에 언급했던 UI 중에 Control에 해당하는 Button, Switch, Slider, Page Control, Date Picker, Segmented Control, Stepper의 공통된 기능은 모두 UIControl에 구현되어있다. Control은 각자 다양한 상태를 가지고 있고, 이를 시각적으로 표현하며, 다양한 이벤트를 전달하는데 이 이..
039 ~ 042. Control Transfer Statements, Labeled Statement (흐름 제어 문) Control Transfer Statements fallthrough, throw, return, break, continue가 해당되며, 이전에 설명했던 fallthrough를 제외한 break, continue를 일단 정리하고, throw와 return은 함수에서 다시 정리한다. Transfer Control 제어 전달은 현재 실행중인 scope에서 코드를 중지하고 다음에 실행할 코드를 실행하는 것을 말한다. break Statement switch문과 반복문 두루 사용 가능하다. 현재 실행중인 문장을 중지하고 다음 문장을 진행한다. switch문에서 사용할 경우 let num = 1 switch num { case 1...10: print("begin") if num % 2 != 0 { //num..
037 ~ 038. Loop Statements (반복문) For-In Loops Syntax for loopConstant in Range { statements } for loopConstant in Collection { statements } loopConstant는 바꿀 수 없다. Range만큼 Statements를 반복한다. for index in 1 ... 3 { print("hello") } 결과 hello hello hello index는 선언이후 사용하지 않았기 때문에 warning이 표시된다. 이런 경우 index를 '_'로 대체하여 사용할 수 있는데 이를 wildcard pattern이라고 한다. 변형 for _ in 1 ... 3 { print("hello") } wildcard pattern은 위와 같이 변형해서 사용할 수 있다 let ..
032 ~ 036. Conditional Statements (조건문) if Statement (if 문) Statement if condition { statements } let id = "root" let password = "1234qwer" //id 확인 if id == "root" { print("valid id") } //password 확인 if password == "1234qwer" { print("valid password") } 결과 valid id valid password 두 가지의 조건문을 논리 연산을 통해 하나로 묶을 수도 있다. let id = "root" let password = "1234qwer" if id == "root" && password == "1234qwer" { ("login success") } 결과 login success..
007 ~ 013. View & Window (뷰와 윈도우)) 007 ~ 008 강의는 Xcode9 -> Xcode11 마이그레이션 강의로 따로 정리하지 않는다. View & Window Window(윈도우)와 View는 디바이스의 화면과 UI를 출력하고, 이벤트를 처리한다. 모든 앱은 적어도 하나 이상의 윈도우를 가지고, 외부 디스플레이가 연결되면 두 개의 윈도우를 가진다. Window 터치 이벤트를 올바른 대상에 전달한다. 화면에 표시되는 뷰의 Controller 역할을 수행한다. interface builder를 사용하면 대부분의 과정이 자동으로 진행되지만, 그 외의 방식으로 구성하는 경우 윈도우를 직접 생성하고, 뷰를 직접 추가해야 한다. 새로운 화면으로 전환하는 경우, 윈도우에 추가되어있는 뷰를 다른 뷰로 대체하는 방식으로 진행한다. View 앱에서 시각적..
020 ~ 031. Operator (연산자) + 실습 기본 Syntax A + B A와 B는 Operend (피연산자) +는 Operend (연산자) 구분 +A A + B A + B : C 단항연산자 이항연산자 삼항연산자 조건연산자 //단항연산자는 공백 없이 붙여 쓴다. //⭕️ +A //❌ + A //이항연산자는 공백을 사용해 띄어 쓴다. //⭕️ A + B //❌ A+B //연산자 형식에 따른 명칭 //prefix Operator +A //postfix Operator A+ //infix Operator A + B 기본적으로 곱과 나눗셈을 덧셈과 뺄셈보다 우선 수행한다. Arithmetic Operator (산술 연산자) Addiction (덧셈) Syntax A + B Subtraction (뺄셈) Syntax A - B Multiple (곱셈) Sy..