본문 바로가기

jinun

(8)
Swift의 인스턴스의 생성과 소멸 •프로퍼티 초기값•이니셜라이저 init - 인스턴스를 생성•디이니셜라이저 deinit - 클래스의 인스턴스가 소멸될 때 호출됨 1. 프로퍼티 초기값 •스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 함 •프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니게 됨 123456789101112131415class PersonA { // 모든 저장 프로퍼티에 기본값 할당 var name: String = "unknown" var age: Int = 0 var nickName: String = "nick"} // 인스턴스 생성let jennie: PersonA = PersonA() // 기본값이 인스턴스가 지녀야 할 값과 맞지 않다면// 생성된 인스..
Swift의 열거형 1. 열거형 Swift 열거형은 다른 언어의 열거형과 많이 다름. 강력한 기능을 지니고 있어 잘 알아두고 사용하면 좋음 •유사한 종류의 여러 값을 한 곳에 모아서 정의한 것. 예) 요일, 월, 계절 •enum 자체가 하나의 데이터 타입으로, 대문자 카멜케이스를 사용하여 이름을 정의 •각 case는 소문자 카멜케이스로 정의 •각 case는 그 자체가 고유의 값 (각 case에 자동으로 정수값이 할당되지 않음) •각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있음 1234567891011121314enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ...} // 예제enum BlackPink { case Jennie case Rose case Lisa c..
Swift의 클래스 1. 클래스 •클래스는 참조(reference) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 •Swift의 클래스는 다중 상속이 되지 않음 2. 클래스 문법 •정의: "class" 키워드 사용 123class 이름 { /* */}cs •프로퍼티 및 메서드 구현 1234567891011121314151617181920212223242526class Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 타입 프로퍼티 static var typeProperty: Int = 100 // 인스턴스 메서드 func instanceMethod() { print("instance method..
Swift의 구조체 1. 구조체 •스위프트의 대부분 타입은 구조체로 이루어져 있음 •구조체는 값(Value) 타입 •타입이름은 대문자 카멜케이스를 사용하여 정의 2. 구조체 문법 •구조체 정의 : "struct" 키워드 사용 123struct 이름 { /* 구현부 */}cs •구조체 프로퍼티 및 메서드 구현 1234567891011121314151617181920struct Sample { // 가변 프로퍼티 (값 변경 가능) var mutableProperty: Int = 100 // 불변 프로퍼티 (값 변경 불가능) let immutableProperty: Int = 100 // 타입 프로퍼티(static 키워드 사용 : 타입 자체가 사용하는 프로퍼티) static var typeProperty: Int = 100 //..
Swift의 조건문 •if-else•switch 1. if-else 구문 •if-else 구문의 기본 형태 •if 만 단독으로 사용해도 되고, else, else if 와 조합해서 사용 가능 •if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 함 •조건을 감싸는 소괄호는 선택사항 1234567if 조건 { /* 실행 구문 */} else if 조건 { /* 실행 구문 */} else { /* 실행 구문 */}cs •if-else 의 사용 1234567891011121314let someInteger = 100 if someInteger 100 { print("100초과")} else { print("100")} // 100 // 스위프트의 조건에는 항상 Bool 타입이 들어와야 함// someInteger 는 Bool ..
Swift의 Any. AnyObject, nil •Any - Swift의 모든 타입을 지칭하는 키워드•AnyObject - 모든 클래스 타입을 지칭하는 프로토콜•nil - '없음'을 의미하는 키워드 1. Any 123456var someAny: Any = 100someAny = "글자"someAny = 321.32 // Any는 Double 타입이 아니기 때문에let someDouble: Double = someAny // 오류 발생cs 2. AnyObject 12345class MainClass {}var someAnyObject: AnyOject = MainClass() // AnyObject는 클래스의 인스턴스만 수용 가능someAnyObject = 122.12 // 오류 발생cs 3. nil •다른 언어의 null 과 유사한 표현 123456/..
Fragment 에서 뒤로가기 버튼 입력 처리 안녕하세요! Ji-nun입니다! 주제 : Fragment 에서 뒤로가기 버튼 입력 처리 원래 Fragment 상에서 뒤로가기 버튼을 눌렀을 때는 그 입력이 Fragment 를 품고있는 Activity 가 처리합니다. 하지만 Fragment 에서 뒤로가기 버튼을 눌렀을때의 동작을 Activity 와 다르게 처리하고 싶을 때가 있습니다. 메인(중심) Fragment 에선 뒤로가기 버튼을 두번 눌렀을 때는 앱이 종료될 수 있도록 하고 다른 Fragment 에선 뒤로가기 버튼을 눌렀을 때 메인 Fragment 로 가게끔 말이죠. Stack 을 사용해도 되나, 전 어떤 Fragment 든지 메인으로 가게끔하는 방법을 소개해드리려 합니다. 1. MainActivity 에 Listener 생성 123456789101..
[마감] 11월 티스토리 초대장 배포! 안녕하세요! Ji-nun입니다! 블로그를 시작한지 얼마돼지 않았는데 7장이나 받았네요~! 저는 제 취미 겸 알게된 내용을 복습하기 위해 블로그를 시작했는데 다른 분들에게도 저와 같진 않겠지만 뜻깊은 시작을 하셨으면 좋겠습니다. 그런 의미에서~~ 블로그를 개설하려는 목적과 주제를 적어주시고 이메일주소를 비밀 댓글로 남겨주세요! 추첨을 통해서 총 7분께 초대장을 보내드립니다. ※초대장을 받으신 후 24시간내에 개설하지 않으시면 회수합니다. 공감 한번씩 클릭 부탁드릴께요~ 많은 분들이 신청해주셨는데 전부 다 드릴수 없는게 아쉽네요 ㅠㅠ 초대장 받으신 분들 앞으로 자주 놀러가겠습니다!! 제 나름대로 생각을 정리하며 포스팅합니다. 정보전달에 있어 차질이 생기는 것을 우려해 나름대로 확실하게 검증을 하고 포스팅하려..