목록앱 개발/iOS (88)
나의 발자취
A class is another means of modeling real-life objects programmatically. 클래스는 실제 생활에 적용되는 객체들을 프로그래밍적 관점으로 모델링하는 것을 뜻하기도 한다 How to create a class using the class keyword. Using the init() method allows us to provide an instance with specific values right off-the-bat during the creation of an instance. 클래스의 init() 메서드는 인스턴스를 만들 때 바로 특정 밸류값을 가질 수 있도록 하는 기능이다. A class can inherit another class’s pr..
Levels of Access Public We’ll start with public, the most open level, which grants access to a property or method from inside or outside the module. Relating it to the company analogy, since modules are companies, public information can be shared between companies. This level is typically used when creating frameworks so that modules that import the framework can access its properties and method..
* argument label 을 _ 로 하면 function invoke 시 argument label을 쓰지 않아도 된다 * multiple values는 튜플로 반환한다. func favoriteCuisine() -> (name:String, dish:String) { return ("Russian", "Pelmeni") } let cuisine = favoriteCuisine() print("My favorite \(cuisine.name) dish is \(cuisine.dish)!")* Implicit return 이란, swift 5.1(20년 2월)부터 생긴 것으로 return이 한줄이면 return 키워드를 생략해도 된다. * default parameter는 argument 뒤에 = 하..
either value or nil 을 가질 수 있는 optional을 언랩핑할때 사용하는 방법 중 하나이다. 옵셔널을 처리하기 위해 스위프트에서는 옵셔널 바인딩 이라는것을 하는데, 옵셔널 바인딩이란 옵셔널을 언랩핑하여 그 값에 접근할 수 있도록 하는것이다. 여기서 if-let은 conditional unwrapping 이다. 이런 식으로 쓰인다. if let newVariable = dictionaryName[optionalValue] { // This code will run if the optional contains a real value }
var easyAsPie = ("easy as", 3.14) Above, we created easyAsPie that holds 2 values: "easy as", and 3.14. If we wanted to access each value individually, we can use dot syntax along with the index of the value: var easyAsPie = ("easy as", 3.14) var firstValue = easyAsPie.0 // "easy as" var secondValue = easyAsPie.1 // 3.14 We can also name a tuple’s elements by prepending each one with a name and ..
View의 body property는 뷰의 구성요소들이 어떻게 레이아웃되어야하는지 계층구조를 짓는 역할을 한다. 이 레이아웃은 주로 VStack, HStack, ZStack을 구성할 때 사용된다. 이들이 구성하는 뷰들을 child view라고 나타낸다. VStack VStack은 vertical하게 뷰를 감싸는 wrapper 역할을 한다. 예를 들어서 두개의 Text 뷰들을 횡단으로 정렬하고 싶으면, VStack을 사용하는 것이다. VStack { Text("Learning to code!") Text("I'm happy") } 만약에 여기서 VStack을 사용하지 않고 두 개의 Text뷰 중 하나를 그냥 뒤에 위치시킨다면 첫번째 Text뷰만 보일것이다. 뷰 모디파이어에는 두가지 카테고리가 있다. 하나는..
a screen in an iOS app is made up of SwiftUI views like Text, Image, Label and Button. Apple defines View as a protocol. struct HappyView: View { var body: some View { Text("Hello, World!") } } 애플에서 View 는 프로토콜로 정의한다. (프로토콜이란 특정 태스크를 완료하기 위해 필요한 요구사항들의 집합의 초석을 정의하는 것) 위 코드에서 View는 구조체다. 구조체는 서로 관련있는 속성(properties)과 함수의 집합을 캡슐화한다. HappyView: View 에서 : View는 HappyView는 View 프로토콜을 따른다는 것을 뜻한다. body..
var randomNumber = Int.random(in: 0...10) switch randomNumber { case let x where x % 2 == 0: print("\(randomNumber) is even") case let x where x % 2 == 1: print("\(randomNumber) is odd") default: print("Invalid") } case에서 임시변수 x를 선언 후 where 문으로 조건 설정 가능(람다같이)