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

Sunho·2022년 7월 8일

개요

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

내용

1주차 강의 들은 모두 swift에 대한 문법으로 수업이 이루어져 있다. 사진에서 보는것과 같이 처음 시작하는 학생들 또한 어려움 없이 쉽게 기초부터 알려주기에 따라하면서 진행할 수가 있다. 처음에 playground에서 내 코드가 바로바로 나오기에 어디가 문제이고 그 용도를 바로바로 체크할수 있어 xcode의 위대함(?)을 볼수 있었다. 다음은 들었던 많은 문법중에 내가 헷갈리고 중요하다고 생각하는 것만을 후기를 통해 남기려고 한다.

swift 간단 문법 타입 정리

let은 상수를 var은 변수를 의미함. 스위프트는 type reference로 한번 타입이 정해진 변수에 다른 타입의 변수를 정의하면 에러가 생김.
또한 nil형식인지 알수 있도록 옵셔널 형식으로 ?를 붙여줌. (다른 언어보다 더 영리한 특징인듯! 에러가 나지 않으니까?)

구조체와 클래스 차이 (16)

  • 구조체는 struct형식으로 value형식이기에 할당을 해줄때 마다 다 달라 다른 같은 구조체 변수에 영향을 주지 않는다.
  • 클래스는 레퍼런스 타입으로 할당한 모든 변수에 영향을 준다. 스트럭트와 다르게 상속이 가능하다.

타입캐스팅(18)

인스턴스의 타입을 확인하고 해당 인스턴스를 하위나 슈퍼클래스취급하는 방법!

  • is: 표현이 타입과 동일하거나, 표현식타입의 서브클래스면 true 아니면 false
  • as:
    - 업캐스팅 : 서브클래스 인스턴스를 슈퍼클래스타입으로
    - 다운캐스팅 : 슈퍼클래스 인스턴스를 서브클래스타입으로 참조
    • as? : 다운캐스팅 실패하면 nil 반환
    • as! : 다운캐스팅 실패하면 에러 반환

assert와 guard(19)

assert: 검증하는 용도로 사용
guard: guard let(조건) else { return}으로 많이 사용하는데 그 뒤 조건이 거짓이라면 엘스문으로가서 종료시켜버리고 조건이 트루일때만 그 뒤의 코드를 실행가능하는 기능을 수행하여 준다.

프로토콜(20)

프로토콜은 구조체 클래스 열거형에 사용할수있는데 그냥 필요한 요구사항들을 구현해야하는 규칙(?)같이 정해줄수있다.

클로저(25)

named와 unnamed가 있는데 named가 흔히 쓰는 함수형

  • 클로저는 일급객체이기에 변수나 상수에 할당해 사용가능. 함수의 파라미터 타입으로 클로저 전달 가능. 함수의 반환타입으로 사용가능.
  • argument label이 없다.
  • 클로저를 원칙대로 쓰면 가독성이 떨어지기에 축약해서 사용가능하다. 클로저를
profile
앱개발자

0개의 댓글