Til
-
Swift 구조체와 클래스 1(Struct and Class) 사용이유, 공통점, 차이점, 구조체와 클래스 내의 let, var 선언Swift 2022. 12. 28. 15:00
구조체와 클래스는 왜 사용할까? 데이터를 용도에 맞게 묶어서 표현할 때 유용 애플이 미리 설계해둔 클래스/구조체를 잘 사용하기 위함 구조체랑 클래스의 공통점은 뭘까? 프로퍼티와 메서드를 사용하여 구조화된 데이터와 기능을 가짐 하나의 새로운 사용자 정의 데이터 타입을 만들 수 있음 초기 상태를 설정할 수 있는 initializer 정의 extension을 통해 확장 특정한 종류의 표준 기능을 제공하기 위한 프로토콜 순응 subscript 문법을 이용해 특정 값을 접근할 수 있는 subscript 정의 구조체랑 클래스의 차이점은 뭘까? 구조체는 값타입(value Type) 인스턴스 데이터를 모두 스택에 저장하고, 스택은 함수를 실행할 때 함수내에서 필요한 데이터들을 스택내에서 사용. 구조체는 모든 데이터가 ..
-
TIL 💡 swift compactMap(_:), enumerated()TIL 2022. 12. 24. 13:33
compactMap(_:) : 각 아이템을 매핑해서 변형하되 자동으로 옵셔널 제거하고 새로운 배열을 생성 해준다. 일반적으로 map은 각 아이템을 매핑해서, 변형해서 새로운 배열생성을 해주는 것이고 map이 가진 기능을 더해 옵셔널 값을 제거하고 새로운 배열을 생성해주는 것! let findNumbers = ["1", "2", "three", "///4///", "5"] let mapped: [Int?] = findNumbers.map { str in Int(str) } print(mapped) //[Optional(1), Optional(2), nil, nil, Optional(5)] let compactMapped: [Int] = findNumbers.compactMap { str in Int(str..
-
Swift Optional 정의, 옵셔널 추출 방법Swift 2022. 12. 22. 22:59
Optional 옵셔널은 wrapping 된 값으로 optional이 선언 되어있는 값은 내부에 값이 있는 지 없는지 알 수 없음 아래처럼 두가지 방식으로 선언이 가능한데, 문서에 따르면 코드를 쉽게 읽고 쓸 수 있도록 축약형(Int?)이 선호된다고 함! let long: Optional let short: Int? ❓어떤 경우에 사용할 수 있을까? 먼저 타입에 대한 개념이 필요하다. 타입은 메모리 공간에 어떤 형태로 어떤 데이터가 들어있다고 알려주는 것임! 아래의 예시처럼 값을 저장하지 않고 출력을 하면 에러가 생긴다. 값을 출력 하기전에 값을 저장해줘야한다. 변수 선언시에 값을 넣어주거나 따로 넣어주거나 아래에 포함된 주석처럼 값을 저장해줘야 에러가 발생하지 않는다. var myAge: Int //v..
-
API Design Guidelines 알아보기(swift Naming)Swift 2022. 12. 21. 19:53
👩🏻💻 같이 프로젝트를 진행하는 팀원과 네이밍에 대해서 서로의 스타일이 다른 점을 발견했다. 나는 변수명이 길어지더라도 한눈에 알아보기 좋은 방식이 좋고, 팀원은 알아볼 수 있는 정도의 축약을 원했다. 처음에는 나도 정확히 알지 못하기 때문에 변수명이나 함수명이 너무 길어져서 좋은 방식이 아니라는 생각도 들었는데 https://www.swift.org/documentation/api-design-guidelines/#naming Swift.org Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns. www.swift.org..