원래 아침형 인간이라 5~6시 기상 10~11시 취침이 일상이었는데
최근에는 강의 전 정리 강의 밥 공부 밥 공부 취침이라 하루가 길면서도 짧다..
앉은 자리에서 코딩 망부석이 될지도..
오늘도 달려보자
breakpoint
단일 파일에서 실행되는 breakpoint, 가장 보편적인 형태는 Line breakpoint다
line breakpoint를 원하는 코드에 걸면 다음과 같이 행 번호에 파란색으로 표시된다
의도적으로 프로그램을 특정 조건을 줘서 일시정지를 한다 -> Debug할 때 오류가 난 곳을 체크해준다
breakpoint 비활성화 방법
1. 행의 체크해 놓은 breakpoint를 클릭하여 비활성화 / 오른쪽 클릭 후 delete 가능
2. 하단의 breakpoint icon을 클릭하여 비활성화
3. 상단의 breakpoint icon을 클릭하면 모든 파일의 breakpoint 영역이 보인다 필요 없는 부분을 삭제 가능
function vs method
function : 함수는 독립된 기능을 수행하는 단위
method : class, struct, enum에 포함되어 있는 function를 method라 한다.
method = class function
functio과 method를 잘 구분하자
parameter vs argument
parameter(매개변수)는 함수의 정의에 포함되는 변수
argument(전달인자)는 함수를 호출(call)할 때 전달하는 실제 값(value)
https://stackoverflow.com/questions/156767/whats-the-difference-between-an-argument-and-a-parameter
argumentlabel vs parameter name
함수 parameter 에는 argument label(외부 매개 변수)과 Parameter name(내부 매개 변수)이 모두 있다
argument label은 함수를 호출할 때 사용된다
parameter 이름은 함수 구현에 사용된다
기본적으로 parameter는 parameter name을 argumentlabel로 사용한다
wildcard pattern
사용되는 곳의 값을 생략(무시)한다
paraandargu 함수를 호출 하려면
parametername인 verse 즉 파라미터명을 명시해줘야 한다
argumentlabel에 _(와일드카드 패턴)을 적용시켰다
parametername 을 명시하는 부분이 생략되어 호출된다
Optional
swift 문법의 꽃
swift가 가지고 있는 가장 큰 특징 -> 값이 있을 수도 있고 없을 수도 있는 것을 나타낸다
값이 없다? -> nil
무작정 변수에 nil을 넣으면 에러가 뜬다
값이 있을수도 있고 없을 수도 있는 변수를 정의할 때는 타입에 '?'를 붙여야 한다
이렇게 정의한 변수를 Optional이라 한다
초기값이 없다면 기본값은 nil이다
즉, Optional은 어떤 값을 갖거나 nil을 가진다
Optional Binding
옵셔널 값을 가져오려면 어떻게 해야할까?
-> Optional Binding을 활용하면 된다
옵셔널 바인딩은 옵셔널의 값이 존재하는지 확인 후 존재하면 그 값을 다른 변수에 대입한다
forced unwrapping, if let binding, guard let binding, nil-coalescing 이 있다
1. forced unwrapping
optional type 강제로 추출
값이 없을 경우 error
nil이 아님을 확인 후 강제 추출
nil이 아니라면 강제로 추출해서 사용
값이 있는 경우 App이 crush 하므로 웬만한 경우에 절대 사용하지 않는 것을 권장한다
2. if let binding
optional의 값이 존재하는지를 검사한 뒤 존재한다면 그 값을 다른 변수에 대입한다
조건이 참이라면? {} 안의 코드를 실행하는 것
안전한 방법이다
3. guard let binding
블록 내부에서만 사용된다.
에러인 경우와 에러가 아닌 경우를 나눠서 처리하기 위해 사용된다
optional을 벗겼을 때 nil이면 더이상 코드를 실행하지 않겠다는 의미가 강하다
guard문은 조건이 true가 아닐 때 else 내부의 코드를 실행한다
즉 guard 문은 에러처리를 먼저 하고 에러가 있으면 코드 실행을 중지한다
4. Nil-coalescing
optional 표현식 ?? 값
optional 표현식에 값이 있다면? -> optionalnum의 unwrapping 된 값 출력
optional 표현식에 값이 없다면? -> 10 출력
Optional Chaining
array가 nil인 경우
-> nil을 반환
array가 Empty인 경우
true 반환
array에 값이 있는 경우
false 반환
Any
Any는 함수타입을 포함하여 모든 타입의 인스턴스를 나타낼 수 있다
'Tech > iOS' 카테고리의 다른 글
[iOS] Day 5 - AutoLayout 간단한 View 만들어보기 (0) | 2022.07.08 |
---|---|
[iOS] Day 5 - Xcode에서 Github 연동하기 (0) | 2022.07.08 |
[iOS] Day3 - 수업 정리 (0) | 2022.07.07 |
[iOS] Day 3 - UITextField 활용 (0) | 2022.07.06 |
[iOS] Day 2 - Storyboard 상에서 Button 활용 (0) | 2022.07.05 |