본문 바로가기
728x90
반응형

swift17

[tvOS][SwiftUI] 기본 샘플 앱 설명 그림 1. 그림 2. 그림 3.은 결과 화면이다. 아래 참조 사이트에 해당 프로젝트를 다운로드 받을 수 있다. // RickTVApp.swift // 1 @main // 2 struct RickTVApp: App { // 3 var body: some Scene { // 4 WindowGroup { ContentView() } } } @main은 앱 시작 지점이다. 첫 시작은 App를 상속 받아야만 한다. // ContentView.swift @ObservedObject var dataProvider = DataProvider() @ObservedObject는 앱 데이터 변경 사항을 수신할 수 있다. 만약 연관된 뷰에 대해서만 변경 사항을 받고 싶은 경우는 @State를 쓴다. // VideoThumbn.. 2022. 10. 25.
[Swift] 샘플로 알아 보는 간단한 상속 개념 상속은 클래스를 정의할 때 다른 클래스의 속성과 메소드를 그대로 가져와 사용하는 것으로 클래스를 다른 사용자 정의 자료형과 구분하는 대표적인 특징입니다. 클래스를 상속하여 새로운 클래스를 정의하는 것을 서브클래스(Subclassing)이라고 합니다. 클래스에 새로운 속성과 메소드를 추가하여 기능을 확정하거나 기존 클래스의 동작을 변경하고 싶을 때 서브클래싱을 활용합니다. Class Hierachy : 클래서 상속 관계 계층 Root Class : 최상위 클래스 Super Class : 상위 클래스 or Parent Class : 부모 클래스 Subclass : 하위 클래스 or Child Class : 자식 클래스 Base Class : 기반 클래스 Derived Class : 파생 클래스 * Swift.. 2022. 10. 21.
[Swift] 클로저 (Closure) 특정 기능을 캡슐화 하거나 작업이 완료되었을 때 실행할 콜백 코드를 구현한다. 전역 함수 내포된 함수 익명 함수 swift는 익명 함수 형태다. 표현식은 인라인 클로저 (Inline Closure)를 작성한다. // 파라미터와 리턴형이 없은 경우 { 실행할 코드 } let clsr = { print("Hello World") } clsr() // Hello World // 파라미터와 리턴형이 있는 경우 { (파라미터 목록) -> 리턴형 in 실행할 코드 } let clsr = { (str: String) -> String in return "Hello, \(str)" } let result = clsr(" World") print(result) // Hello World func funcClsr(_ c:.. 2022. 10. 12.
[swift] 값 형식과 참조 형식 1. 값 형식 : 선언과 동시에 메모리 공간에 생성된다. var num = 10 2. 참조 형식 : 클래스, 클로저는 참조 형식이다. 참조 형식의 값을 저장하기 위해서는 스택과 힙 영역에 각각 하나씩 두 개의 메모리 공간이 필요하다. 참조 형식의 값은 힙 영역에 저장되고 스택 영역에는 힙 영역에 저장된 값의 주소가 저장된다. var str: NSString = NSString(string: "hello") 3. 박싱과 언박싱 박싱 (Boxing) : 값 형식을 참조 형식으로 바꾸는 것 let num = 10 let numObj = NSNumber(value: num) var numList = NSArray(object: numObj) 언박싱 (Unboxing) : 참조 형식을 값 형식으로 바꾸는 것 le.. 2022. 10. 11.
[swift] 옵셔널 (Optional) 옵셔널은 swift에서 "값이 없음"을 표현하는 개념이다. 1. Optional Type var 변수 이름 : 자료형? var optionalVar : Int? let 상수 이름 : 자료형? 2. Wrapping & Unwrapping 옵셔널 형식에 저장된 값을 추출하는 문법은 옵셔널 변수 또는 표현식 뒤에 ! 문자를 붙여 저장된 값을 추출한다. //옵셔널 표현식! var optString : String? = "hello" print(optString!) // hello 3. Optional Binding 값이 있는지 확인하고 실행한다. if var 변수 이름 = 옵셔널 표현식 { 바인딩이 성공했을 때 실행할 코드 } var optStr : String? = "hello" if var newStr = .. 2022. 10. 11.
728x90
반응형