Swift TIL(28)

웰디(Well-D)·2023년 9월 16일
0

Sweet & Soft, SWIFT

목록 보기
26/76

복습

저장속성, 지연속성 학습에 이은 계산속성과 타입속성, 속성감시자까지 복습해보았다.
뒤에 상속 혹은 재정의와 관련해서 타입속성에서의 static 키워드를 class 키워드로 바꿔쓰는 등 다양한 옵션이 존재한다.

계산속성, 계산타입속성의 메모리 동작방식에 대해서는 반복할수록 좋은것같다(은근 헷갈리기 때문)

타입속성은 데이터영역에 존재하는 개념이기 때문에 같은 타입내에서는 (전역변수나 타입은 데이터영역에 존재) 단순 타입속셩명으로(예를들어 pi) 상호 접근 가능하지만 만약 메서드, 생성자(사실상 인스턴스) 내에서 타입속성을 접근하려 한다면 class명.타입속성이름 으로 Circle.Pi 와 같은 식으로 정식명으로 접근해줘야한다.

저장타입속성의 경우 마치 지연저장속성처럼 해당 속성에 접근할때 비로소 메모리 공간이 생기는 구조를 가지고 있으며 항상 기본값이 필요하다. (저장속성과 달리 타입속성은 생성자로 생성하는 타입이 아니므로 선언할때 아니면 초기값 셋팅이 불가능하기 때문이라는 논리적인 구조!)

계산타입속성의 경우 상속했을때 재정의가 가능하면 static 키워드 대신 class 키워드를 사용한다(고 되어있는데 뒤에서 더 자세히 배울 수 있을것)

계산속성의 경우 newVlaue를 속성감시자 willSet의 경우 newValue를 didSet의 경우 oldValue를 사용할 수 있다.

앱만들기

가위바위보 앱을 만들었다.
열거형, 스위치문을 복습할 수 있는 좋은 예제였는데 확실히 많이 써봐야 늘겠다는 생각이 들었다.

이 간단한 앱에서조차 아주 사소한 실수들로 에러를 발생시켰다.

1.breakPoint 잘못 설정한걸 몰라서 발생한 에러
[Xcode]Thread 1: breakpoint 1.1 (1) 에러

https://velog.io/@winscalife/XcodeThread-1-breakpoint-1.1-1-%EC%97%90%EB%9F%AC

  1. IBAction의 함수이름을 내멋대로 바꿔서 생겼던 에러
    스토리보다 main의 컴포넌트를 끌고오는 과정에서 UIBotton이 아닌 Any로 sender타입을 설정했다는 걸 깨닫고 수정하는 과정에서 함수명을 임시로 만들었다가, 임의로 코드에서 다시 수정하면서 1차 에러발생, 이걸 지우려고 연결을 끊고 코드에서 삭제하는 과정에서 2차 에러 발생했다.

어디서 스토리보드와 연결된 컴포넌트를 확인할수있는지 기억해두도록 하자
https://asxpyn.tistory.com/31

  1. Trhead 1: Signal SIGTERM 에러 등
  • 시뮬레이터 cmd Q로 닫기
  • 컨트롤러 속성창에서 link 다 잘 되어있는지 확인하기

https://chanztudio.tistory.com/8

profile
Wellness 잘사는 것에 진심인 웰디입니다. 여러분의 몸과 마음, 통장의 건강을 수호하고싶어요. 느리더라도, 꾸준히

0개의 댓글