iOS개발 강의 패스트캠퍼스 열공챌린지 (2주차)

Sunho·2022년 7월 14일

개요

방학을 맞이하여 ios swift공부를 하려 하였으나 무료 자료들의 한계로 찾다가 국비지원 패스트캠퍼스 강의에 지원하게 되었다. 그리고 공부를 매주 챙겨가며 하기위해 열공챌린지에 참가하였다.

2주차 후기

본격적으로 2주차에 진입하면서 xcode storyboard를 다루기 시작하였다. 내가 원하는 앱을 드디어 만든다니 너무 설레고 후딱 다 들어보고 싶은 마음이 강했다. 뭐를 계속 만들면 바로바로 시뮬레이터로 볼 수 있어 다른 프로그래밍과 달리 재미가 두배였다.

xcode 중요 개념들

오토 레이아웃 : 제약조건에 따라 뷰 계층 구조에 있는 모든 뷰 크기와 위치를 동적으로 지정. 그니까 아이폰 기종이 여러개 있는데 그것들을 일일이 다 설정해주는것이 아닌 오토 레이아웃이 그 기능을 해준다.

  • 그렇게 됨으로써 마진등 설정등은 상대적!!!으로 다른객체들과의 위치를 나타냄

content Hugging Priority

각각 intrinsic width를 유지하고 있는데 만약 같은 라인에 두 레이블이 있을 경우 어떤것이 더 커저야 될지 모르기에

  • 우선순위가 높다면 본인의 크기를 유지하고 작은놈이 늘어나게 된다.
  • 커져야할때!!!!!

Content Compression

만약 한쪽 label이 너무 길어져서 다른영역까지 침범할때, 우선순위가 같으면 어떤것이 줄어들어야 하지 모르기에

  • 두 오브젝트중 한놈이 작아져야 하는 상황! 어떤것이 줄어들지 정해주자
  • 우선순위 높은 것은 intrinsic size유지, 낮으면 줄어듬

Delegate

일을 시킬뿐, 어떻게 처리하는 작업인지는 그 객체에서 처리하게 한다. 다른 뷰에 데이터를 보낼때 주로 사용!!

계층구조 컨텐츠를 순차적으로 보여줌!! 스택을 이용해서 Pop방식 LIFO

[weak self]

클로저를 다룰때 강의에서 강한참조를 피하고 약한참조를 해주어 순환참조로 인한 메모리 릭 벗어나기 위해 사용한다고 배웠다. 하지만 이부분이 이해가 안가 따로 구글링하며 찾아보았다. 클래스로 이루어진 객체에서 강한참조 상태라면 ARC에 의해 Retain count를 1증가시켜주지만 약한 참조로 하는경우네는 retain count가 증가하지 않는다. 이렇게 되면 두 개의 객체가 상호참조하는 경우 강한 참조가 발생하지 않아 메모리 누수방지

화면전환 4가지

  1. view controller의 view위에 다른뷰 올려놓음(메모리 누수 위험!!사용X)
  2. 다른 뷰 컨트롤러호출
  3. navigation controller
  4. 화면전환용 객체인 세그웨이용'

IBInspectable: 커스텀뷰 속성들을 코드를 사용하는 것이 아닌 스토리보드에서 바로 변경 가능하다.

IBDesignable: 변경된 속성이 실시간으로 스토리보드에 적용되는것을 확인가능.

진행한 프로젝트

2주차부터는 더더욱 강의가 재밌어졌다. 그이유는 본격적인 프로젝트를 시작하였기 때문이다. 명언만들기부터 시작하여 계산기만들기까지 진행하였다.
사진은 2주차 마지막 프로젝트인 계산기 만들기이다. operation을 열거형으로 구현해 어떤 기호가 나오는지에 따라 operation함수에 넣어주고 그안에서 스위치문을 구현해 계산을 해결하였다.스토리보드와 뷰컨트롤러의 버튼연결부터 시작하여였고 ibinspectable과 ibdesignable을 이용하여 구현에 성공하였다.

profile
앱개발자

0개의 댓글