2022_iOS 앱 개발자 워크숍63 Swift : Failable initializer 실패 가능한 생성자 - 값이 없어 오류를 방지하기 위해 nil 값으로 나타나게 하기위한 방법 - !로 옵셔널을 반드시 풀어줘야함. 오류 코드 - 마지막에 넘어온 Int의 값이 그냥 정수가 아닌 옵셔널 값으로 넘어오기 때문에 오류가 발생한다. class Man{ var age : Int var weight : Double func display(){ print("나이=\(age), 몸무게=\(weight)") } init?(age: Int, weight: Double){ if age 2022. 1. 6. Swift : 생성자 중첩 - 매개변수의 개수와 자료형이 다른 같은 이름의 함수를 여러 개 정의 - 매개변수가 다른 두 생성자를 통해 두가지 방법으로 인스턴스를 만들 수 있다. 예제 class Test{ var A : Int = 2 var B : Int = 4 func OutPut(){ print("A = \(A), B = \(B)") } init(A: Int, B: Int){ self.A = A self.B = B } init(A: Int){ self.A = A } } var Number : Test = Test(A: 5, B: 8) var NumberA : Test = Test(A: 27) Number.OutPut() NumberA.OutPut() 실행결과 // A = 5, B = 8 // A = 27, B = 4 강의 출처 .. 2022. 1. 6. Swift : Computed Property 정의 = Property가 설정되거나 검색되는 시점에서 계산, 파생 된 값 Computed Property 의 구성 - getter 메서드 ( 값을 리턴 ) - setter 메서드 ( 값을 대입 ) 예제 1 class Test{ var A : Int// Stored Property var B : Int// Stored Property var C : Int{// Computed Property get{ return A-1 } } func OutPut() { print("A = \(A), B = \(B)") } init(A: Int, B: Int){ self.A = A self.B = B } } var Number : Test = Test(A: 5, B: 8) Number.OutPut() print(Numb.. 2022. 1. 6. Swift : Self - 현재 클래스 내의 메소드나 프로퍼티를 가르킬 때 메소드나 프로퍼티 앞에 self. 을 붙여준다. - self. 로 구분이 필요 없는 경우 생략이 가능하다. .self의 사용 유무에 따른 실행화면 강의 출처 : https://www.youtube.com/channel/UCM8wseo6DkA-D7yGlCrcrwA 2022. 1. 6. Swift : 클래스에서 메소드 추가 메소드는 인스턴스 메소드, 클래스(타입) 메소드가 있다. 인스턴스 메소드는 인스턴스에서 동작한다. 예제 1 : 인스턴스 메소드 만들기 class Test{ var A : Int = 7 var B : Int = 8 func OutPut() {// 인스턴스 메소드 print("A = \(A), B = \(B)") } } 예제 2 : 인스턴스 ( 객체 ) 만들기 var 인스턴스명 : 클래스명 = 클래스명 ( ) ■ 클래스명은 생략 가능. 클래스명 다음의 괄호는 Default Initializer 이다. class Test{ var A : Int = 7 var B : Int = 8 func OutPut() { print("A = \(A), B = \(B)") } } var C : Int var Number : .. 2022. 1. 6. Swift : Property [ 프로퍼티 ] 클래스에서 프로퍼티를 추가하기 위한 조건 3가지 ( 인스턴스 초기화 하는 방법 ) - 다음 3가지 중 한 가지를 사용해야한다. 1, 초기값이 있어야 한다. 2, init을 이용해서 초기화한다. 3, 옵셔널 변수(상수)로 선언한다. 예제 1 : 초기값 주기 class Test{ var A : Int = 7 var B : Int = 8 } 예제 2 : 옵셔널로 선언하기 class Test{ var A : Int? // nil var B : Int? // nil } 예제 3 : init 사용하기 - 클래스, 구조체, 열거형 인스턴스가 생성되는 시점에서 해야하는 초기화 작업 - 인스턴스가 만들어지면서 자동호출. - designated initialize : 모든 프로퍼티를 다 초기화시키는 생성자 - design.. 2022. 1. 6. 이전 1 ··· 4 5 6 7 8 9 10 11 다음