Programming
-
Swift - Stored PropertyProgramming/Swift 2021. 10. 24. 13:30
안녕하세요 Beepeach입니다 :) 오늘 공부해볼 내용은 Property(프로퍼티) 입니다. 프로퍼티란 struct, class, enum 등 타입에 관련된 값을 의미합니다. 프로퍼티라는 이름 때문에 특별해 보이지만 지금까지 우리가 사용했던 상수와 변수가 struct, class, enum에 구현되면 프로퍼티입니다. 특별한 게 아닙니다. 프로퍼티에도 종류가 있습니다. 인스턴스에 관련된다면 Instance property, 타입에 관련된다면 Type property 값을 저장한다면 Stored property, 값을 저장하지 않고 계산을 해서 반환해준다면 Computed property로 구분됩니다. (이 포스팅에서 type property라는 말이 없다면 instance property를 의미합니다.)..
-
Swift - Value type vs Reference typeProgramming/Swift 2021. 10. 23. 09:35
안녕하세요! Beepeach입니다 :) 오늘은 structure와 class의 가장 큰 차이점인 value type(값 타입)과 reference type(참조 타입)에 대해서 공부해보겠습니다! 단어가 생소해서 어려워 보일 수 있지만 사실 별거 아닙니다! 그럼 시작해보겠습니다. Value Type (값 타입) Structrue(구조체)와 Enumeration(열거형)은 값 타입입니다. ValueType은 값이 상수나 변수에 할당이 될 때 또는 함수로 전달이 될 때 값이 복사가 됩니다. 가장 핵심은 '값이 복사가 된다'입니다. 이게 무슨말이지?? 할 수 있지만 사실 지금까지 계속 사용해왔습니다. Int, Double, Bool, String, Array, Dictionary 등 모든 Swift basic ..
-
Swift - Struct & ClassProgramming/Swift 2021. 10. 20. 13:47
안녕하세요 Beepeach입니다 :) 오늘은 struct(구조체)와 class(클래스)에 대해서 공부해보려고 합니다! 객체지향 프로그래밍, OOP(Object Oriented Programming)은 한 번쯤 들어보셨을 겁니다. 그러면서 class에 대해서도 들어보셨을 텐데요. Swift에서는 struct와 class는 비슷한 부분이 많습니다. 모두 새로운 타입을 정의해서 데이터를 구조화할 때 사용합니다. 쉽게 말해서 우리가 정의하는 새로운 Type을 만들 수 있습니다. Struct와 class의 가장 큰 차이점은 valueType(값 타입), referenceType(참조 타입)이라는 겁니다.. 지금까지 사용해온 Int, Double.... 과 같은 Fundamental data type들과 Enume..
-
Swift - Enumeration CaseIterableProgramming/Swift 2021. 10. 18. 11:15
안녕하세요! Beepeach입니다 :) 오늘 공부해볼 주제는 CaseIterable 프로토콜입니다. 가끔 enum case들을 collection으로 사용해야 할 때가 있습니다. case들만 따로 모아서 직접 array를 만들어도 되지만 Swift에서 제공하는 기능을 통해 간단하게 생성할 수 있습니다. 그럼 같이 보도록 할게요!! CaseIterable CaseIterable 프로토콜을 채용하면 제공되는 프로퍼티를 통해서 collection을 쉽게 만들 수 있습니다. (프로토콜에 대해서는 나중에 다루도록 하겠습니다.) 주로 associated value가 없는 enum에 사용합니다. (이유는 뒤에서 설명할게요!) 그럼 먼저 사용방법을 보겠습니다. 간단하게 enum type이름 옆에 :과 CaseItera..
-
Swift - Enumeration Associated ValueProgramming/Swift 2021. 10. 16. 22:46
안녕하세요 Beepeach입니다 :) 오늘은 지난 포스팅에 이어서 Enumeration의 Associated Value (연관값)에 대해서 공부해 보도록 하겠습니다. Raw value는 사용할 수 있는 타입이 정해져 있고 모든 case들이 지정한 한 가지 타입으로만 raw value를 가질 수 있었습니다. 하지만 associated value는 타입의 제약이 없고 case마다 타입을 다르게 지정해줄 수도 있으며 원하는 case에만 적용시킬 수 있습니다. Raw value는 enum을 만들 때 값을 저장했지만 associated value는 인스턴스를 생성할 때 저장합니다. Associated value와 raw value는 같이 사용할 수 없습니다. 둘 중에 한 가지만 사용 가능합니다. 그럼 associ..
-
iOS - FoundationProgramming/iOS 2021. 10. 15. 19:16
안녕하세요 BeePeach 입니다 :) 오늘 공부해볼 내용은 Foundation 프레임워크입니다. UIKit에 이어서 iOS 앱개발에서 매우 중요한 프레임워크입니다. 프로젝트를 생성하면 import UIKit은 되어있는데 import Foundation은 보이지 않습니다. 하지만 UIKit을 들어가보면 Foundation 프레임워크를 import하고 있는것을 확인할 수 있습니다. 그래서 import Foundation을 하지 않아도 관련된 코드를 사용할 수 있습니다. control + cmd를 누르고 UIKit을 클릭해보겠습니다. Foundation Foundation은 iOS 애플리케이션의 기본 기능을 포함하는 프레임워크입니다. 기본 Number, Data, String등 원시 데이터 타입 사용 Col..
-
iOS - Cocoa TouchProgramming/iOS 2021. 10. 15. 19:02
안녕하세요 BeePeach입니다:) 오늘 공부해볼 내용은 Cocoa Touch입니다! Cocoa Touch란 애플리케이션 개발 환경을 말합니다. iOS 애플리케이션의 다양한 기능 구현에 필요한 여러가지 프레임워크를 포함하는 최상위 프레임워크라고 생각하면 됩니다. 여기서 자주 헷갈리는 부분이 있는데 바로 Cocoa와 Cocoa Touch입니다. Cocoa - Foundation, AppKit 프레임워크를 포함하는 프레임워크입니다. OS X를 개발할때 사용합니다. Cocoa Touch - Foundation, UIKit 프레임워크를 포함하는 프레임워크입니다. iOS를 개발할때 사용합니다. iOS 앱개발을 할때 UIKit과 Foundation은 매우매우 중요합니다. 기본적으로 프로젝트를 생성하면 UIKit을 ..
-
Swift - Enumeration (열거형)Programming/Swift 2021. 10. 15. 15:55
안녕하세요 Beepeach 입니다 :) 오늘은 Enumeration에 대해서 공부해보려고 합니다. Enumeration은 관련된 값들을 새로운 타입으로 정의하고 이 값들을 코드에서 안전하고 가독성 좋게 사용할 수 있도록 해줍니다. 주로 총 개수가 정해진 값들에 사용하게 되는데요. 먼저 위험하고 가독성이 좋지 않은 코드부터 살펴보겠습니다. 방향은 크게 동서남북 4방향으로 볼 수 있겠죠?? 그래서 각 방향에 정수를 할당했습니다. 이 방식은 나빠보이지 않을 수 있지만 Int 값은 무수히 많습니다. 그래서 잘못된 값이 들어가도 에러가 나지 않고 어디서 무슨 값이 들어갔는지 모를 수가 있습니다. 그리고 0은 north 1은 south를 알고 있어야합니다. 모른다면 직접 코드를 찾아서 다시 봐야 하는 밖에 없죠! ..