728x90 전체 글24 VStack, HStack, ZStack Stack은 UIKit의 UIStackView를 의미한다. SwiftUI의 Stack종류는 거의 다 알았다고 봐도 된다. VStack V로 시작하는 것을 보면 알 수 있듯이, UIKit에서의 Vertical이라는 의미다. 이 스택안에 코드를 넣으면 위에서 아래의 수직모양으로 뷰들이 쌓인다. HStack H로 시작하니까? Horizental이라는 의미다. 이 스택은 수평모양으로 뷰들이 쌓인다. ZStack 이것은 조금 다른 개념인데, 스택안에서 뷰들이 수직, 수평이 아닌 그대로 쌓인다. 스택안에 뷰들을 넣을 때 가장 위에부분이 가장 아래로 들어가고 뷰들을 추가할 수록 원래있던 뷰 위에 새로운 뷰가 씌여진다. 이 말의 뜻이 뭐냐면, 그림으로 따지자면 원래그림에 덧칠이 된다고 생각하면 된다. 그림을 자세히보면.. 2022. 10. 30. 스토리보드 없애기 - Xcode 13 iOS13 이후로 SceneDelegate가 생겼다. 화면을 관할하는 델리게이트인데 이 전에는 AppDelegate에서 화면을 관할했다. (쪼개기를 잘해놨다.) 그 순서에 대해서 알아보자 먼저 프로젝트 파일을 생성 후 info.plist로 들어간다. 이렇게 나오면 Main.storyboard와 Storyboard Name부분을 삭제한다. 이 후, 포커스 되어있는 Main Interface도 지워준다. 그리고 SceneDelegate.swift로 들어가서 willConnect메서드에 원래있던 메서드를 삭제하고 guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(frame: UIScreen.main.bounds.. 2022. 10. 30. Result Type 시작전에 Result Type을 알아보기 전에 먼저 에러처리, 제네릭문법에 대해 알고 있어야 이해하기 훨씬 수월하다. (에러처리에 대한 또 다른 방법이기 때문이다.) Result Type이란? Swift5 부터 새로 도입된 개념으로 타입안에 결과를 넣어 결과를 가질 수 있는 개념이다. 이 말의 의미를 조금더 직설적으로 표현하자면 Result Type은 열거형으로 되어있다! 라는 의미이다. // 타입 enum Result { // 성공 케이스 case .success(let data): print("결과값은 \(data)입니다.") // 실패 케이스 case .failure(let error): print(error) } 에러가 발생하는 경우, 에러를 따로 외부로 던지는 것이 아니라, return 자체를 .. 2022. 10. 29. 프로그래밍 패러다임 - 프로토콜지향 프로그래밍 시작전에, 패러다임이란? 어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체 Swift의 프로그래밍 패러다임은 총 3가지다. 1. 객체지향 프로그래밍 2. 프로토콜지향 프로그래밍 3. 함수형 프로그래밍 이 3가지중 프로토콜지향 프로그래밍에 대해서 알아보자. 프로토콜지향 프로그래밍이란? 다른언어에는 없던 개념으로, Swift가 처음으로 내세우는 개념이다. 나오게 된 배경으로는 객체지향 프로그래밍에서의 단점 때문인데, 먼저 객체지향 프로그래밍에서의 장점은 상속이 가능하다는 점이다. 하지만 1. 다중상속이 불가능하고 2. 상위클래스의 메모리구조를 반드시 따라야 하며 (이 과정에서 필요하지 않은 속성/메서드가 상속된다.) 3. 클래스에서만 상속이 가능하다 는 단점이 있다. 이러한 단.. 2022. 10. 28. 접근제어(Access Control) 기본개념 코드의 세부 구현 숨기는것이 가능하도록 만드는개념으로 객체지향프로그래밍의 특징 중 하나인 은닉화가 가능해진다. Swift 접근제어의 5가지 open - 다른모듈에서도 접근가능 / 상속 및 재정의도 가능 (제한 낮음) / 클래스를 가장 넓힌다면 public - 다른모듈에서도 접근가능(상속 / 재정의 불가) / 구조체를 가장 넓힌다면(상속을 할 수 없기 때문에) internal - 같은 모듈내에서만 접근가능(디폴트) fileprivate - 같은 파일 내에서만 접근가능 private - 같은 scope내에서만 접근가능 (제한 높음) 모듈이란? 프레임워크, 라이브러리, 앱 등 import해서 사용할 수 있는 외부의 코드 접근제어를 가질 수 있는 요소 1) 타입(클래스/구조체/열거형/스위프트 기본타입 .. 2022. 10. 28. 델리게이트 패턴(Delegate_Pattern) 시작전에 프로토콜이 무엇인가? 프로토콜 지향프로그래밍이 무엇인가? 스스로에게 질문을 해보고 만약, 잘 모르겠다면 델리게이트패턴 전에 프로토콜에 대해 더 공부해야한다는 것을 잊지 말아야한다. 프로토콜지향 프로그래밍에 대해서 적은 글인데 생각이 안나면 이 글부터 다시 읽고 오자! https://i-yongil.tistory.com/7 델리게이트 패턴이란? 이벤트처리의 방법중 하나이며 iOS앱개발에서 기본적인, 가장 중요한 패턴이라고 할 수 있다. 애플이 제공하는 프레임워크를 제대로 활용하려면 정확히 알고 있는 것이 좋다. - (모조리 외운다고 해도 전혀 아깝지 않은 개념이다.) 한마디로 설명하자면, 하나의 객체가 다른 객체의 기능을 대신처리(== 위임) 한다는 개념이다. 물론, 델리게이트 패턴을 쓰지 않고(.. 2022. 10. 27. 이전 1 2 3 4 다음 728x90