전체 글
IOS 스위프트(Swift) 문법 - 클래스와 구조체의 차이
1. 클래스와 구조체의 공통점 - 값을 저장할 프로퍼티를 선언할 수 있습니다. - 함수적 기능을 하는 메서드를 선언할 수 있습니다. - 내부 값에 . 을 사용하여 접근할 수 있습니다. - 생성자를 사용해 초기 상태를 설정할 수 있습니다. - extension을 사용하여 기능을 확장할 수 있습니다. - Protocol을 채택하여 기능을 설정할 수 있습니다. 2.클래스와 구조체의 차이점 2-1. 클래스 - 참조 타입입니다. - ARC로 메모리를 관리합니다. - 상속이 가능합니다. - 타입 캐스팅을 통해 런타임에서 클래스 인스턴스의 타입을 확인할 수 있습니다. - deinitdㅡㄹ 사용하여 클래스 인스턴스의 메모리 할당을 해제할 수 있습니다. -같은 클래스 인스턴스를 여러 개의 변수에 할당한 뒤 값을 변경 시..
IOS 스위프트(Swift) 문법 - 프로퍼티
Properties(프로퍼티) 란? 클래스, 구조체 또는 열거형 등에 관련된 값을 뜻한다. 프로퍼티는 세가지 종류가 있습니다. 저장 프로퍼티 - 인스턴스의 변수 또는 상수를 의미 연산 프로퍼티 - 값을 저장하는 것이 아니라 특정 연산을 실행하는 결과 값을 의미 타입 프로퍼티 - 특정 인스턴스에서 사용되는 것이 아닌 특정 타입에서 사용되는 프로퍼티 //저장프로퍼티 struct Dog { var name: String var gender: String } var dog = Dog(name: "gunter", gender: "Male") //Dog print(dog) //"Dog(name: "gunter", gender: "Male")\n" dog.name = "홍길동" //Dog let dog2 = Dog..
IOS 스위프트(Swift) 문법 - 초기화 구문 init
초기화(initialization) 란? 클래스 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비 과정입니다. struct User { var nickname: String = "Gunter" var age: Int = 0 init() { //인스턴스가 생성되면 호출 } } let user = User() /* init(매개변수: 타입, ...) { //프로퍼티 초기화 //인스턴스 생성시 필요한 설정을 해주는 코드 작성 } */ class User { var nickname: String var age: Int init(nickname: String, age: Int) { self.nickname = nickname self.age = age } init(age: Int) { self.nickname ..
IOS 스위프트(Swift) 문법 - 클래스
class 클래스 이름 { 프로퍼티와 메서드 } class Dog{ var name: String = "" var age: Int = 0 init(){ } func introduce() { print("name \(name) age \(age)") //"name CoCo age 3\n" } } var dog = Dog() //Dog dog.name = "CoCo" //Dog dog.age = 3 //Dog dog.name //"CoCo" dog.age //3 dog.introduce() //Dog
IOS 스위프트(Swift) 문법 - 구조체
구조체? 클래스? 프로그래머가 데이터를 용도에 맞게 표현하고자 할 때 사용합니다. 프로퍼티와 메소드를 사용해서 구조화된 데이터와 기능을 가질 수 있어 하나의 새로운 사용자 정의 데이터 타입을 만들어 주는 것입니다. 스위프트에서는 클래스와 구조체 문법과 사용법이 거의 같습니다. 다른 점으로는 구조체 인스턴트는 값 타입, 클래스 인스턴트는 참조 타입으로 다른 점이 있습니다. struct 구조체 이름 { 프로퍼티와 메서드 } struct User { //변수, 상수, 함수의 이름은 소문자로 시작하는 카밀 표기법, 구조체,클래스의 이름은 대문자로 시작하는 파스칼 표기법 var nickname : String var age : Int func information(){ print("\(nickname) \(age..
IOS 스위프트(Swift) 문법 - 옵셔널 바인딩
옵셔널 해제 방법은 크게 두가지가 있습니다. 명시적 해제 - 강제 해제, 비강제 해제(옵셔널 바인딩) 묵시적 해제 - 컴파일러에 의한 자동 해제, 옵셔널의 묵시적 해제 //강제 해제 var number : Int? = 3 //3 print(number) //"Optional(3)\n" print(number!) //"3\n" //!를 붙이면 강제 해제를 한다 //비강제 해제(옵셔널 바인딩) if let result = number { //조건문을 이용하여 추출 print(result) //"3\n" } else { } func test() { //guard문을 이용하여 true일때만 추출 let number: Int? = 5 //5 guard let result = number else { return ..
IOS 스위프트(Swift) 문법 - 옵셔널
옵셔널이란? 값이 있을 수도 있고 없을 수도 있습니다. var name : String = "안녕하세요" var name : String = "" var name : String? = nil var number : Int = 7 var number : Int = 0 var number : Int? = nill var name : String? //nil var optionalName : String? = "Gunter" //"Gunter" print(optionalName) //"Optional("Gunter")\n" var requiredName : String = optionalName //Value of optional type 'String?' must be unwrapped to a value ..
IOS 스위프트(Swift) 문법 - 반복문
반복문이란? 반복적으로 코드가 실행되게 만드는 구문을 말합니다. 반복문으로는 for-in, while, repeat-while이 있습니다. /* for 루프상수 in 순회대상 { //실행할 구문.. } */ for i in 1...4 { print(i) //1,2,3,4 } let array = [1,2,3,4,5] for i in array { print(i) //1,2,3,4,5 } /* while 조건식 { //실행할 구문 } */ var number = 5 while number < 10 { number+=1 //6,7,8,9,10 } number //10 /* repeat { //실행할 구문 } while 조건식 */ var x = 6 repeat { x+=2 } while x < 5 print..