Swift09 - 클로저 Closures Closures are self-contained blocks of functionality that can be passed around and used in your code. Closures in Swift are similar to blocks in C and Objective-C and to lambdas in other programming languages. 클로저란? 클로저는 실행가능한 코드 블럭입니다. 함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점이 동일합니다. 함수는 이름이 있는 클로저입니다. 일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능합니다. 클로저는 함수의 전달인자인 콜백함수로 주로 사용된다 기본 클로저.. 2021. 2. 2. Swift08 - 값 타입 vs 참조타입 값 타입(Value Type) 데이터를 전달 할 때 값을 복사하여 전달합니다. 구조체 열거형 값 타입을 사용하는 경우 연관된 몇몇의 값들을 모아서 하나의 데이터 타입으로 표현하고 싶은 경우 다른 객체 또는 함수 등으로 전달될 때 참조가 아니라 복사(값 복사) 할 경우 자신을 상속할 필요가 없거나, 다른 타입을 상속 받을 필요가 없는 경우 스위프트의 기본 데이터 타입은 모두 구조체로 구현되어있습니다. 스위스트는 구조체와 열거형 사용을 선호합니다. struct ValueType { var property = 1 } // 첫 번째 구조체 인스턴스 let firstStructInstance = ValueType() // 두 번째 구조체 인스턴스에 첫 번째 인스턴스 값 복사 var secondStructInsta.. 2021. 2. 1. Switf07 - 구조체 vs 클래스 vs 열거형 클래스 - 단일상속 - 프로퍼티, 메서드 갖는다 - 참조타입 - apple프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성 구조체 - 다른 언어의 구조체보다 다양한 기능을 갖는다 - 상속 불가 - 프로퍼티, 메서드 갖는다 - 갑 타입 - swift의 대부분의 큰 뼈대는 구조체로 구성되어 있다 열거형 - 상속불가 - 열거형 자체가 하나의 값 타입 - 열거형 case 하나하나가 유의미한 값 - 값타입 2021. 2. 1. Swift-06 열거형 Enumerations An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code. 열거형이란? - 유사한 종류의 여러 값을 한 곳에 모아서 정의한 것. - enum 자체가 하나의 데이터 타입 - 대문자 카멜케이스를 사용하여 이름을 정의. - 각 case는 그 자체가 고유의 값입니다.(각 case에 자동으로 정수값이 할당되지 않음) - 각 case는 소문자 카멜케이스로 정의 - 각 case는 한 줄에 개별로도, 한 줄에 여러개도 정의할 수 있습니다. enum Weekday { case mon case tue.. 2021. 2. 1. Swift-05 구조체, 클래스 구조체란 - 새로운 데이터 타입을 정의 - 구조체 내부에 값을 저장하기 위해 프로퍼티를 정의 - 구조체 내부에서 기능 실행을 위해 메서드를 정의 - 값 타입 : 구조체로 정의한 타입의 값이 전달될때는 해당 값이 복사되어 전달된다 - 이니셜라이저 정의 가능 - 상속 불가능, 타입캐스팅 불가능, 디이니셜라이저 불가능 구조체를 사용하는 경우 - 연관된 간단한 값의 집합을 캡슐화하는 것이 목적일 때 - 캡슐화한 값을 참조하는 것보다 복사하는 것이 합당할 때 - 구조체에 저장된 프로퍼티가 값 타입이고 참조보다 복사하는 것이 합당할 때 - 다른 타입으로부터 상속받거나 자신을 상속할 필요가 없을 때 구조체 문법 구조체 프로퍼티 및 메서드 구현 struct Sample { // 가변 프로퍼티(값 변경 가능) var m.. 2021. 1. 31. viewController life cycle 어플리케이션이 실행하면서 ViewController들이 만들어지고 사라지며 화면을 띄우고 내리는 작업을 하는데, 이러한 과정들은 event에 의해 메소드가 호출됩니다. Init() storyboard를 통해 View Controller들을 만들 경우 ViewController 객체가 생성될 때 초기화 작업을 합니다. 이때 사용하는 메소드가 init() 입니다. 객체를 Byte Stream으로 바꾸어 디스크에 저장하거나 네트워크를 통해 전송하는 직렬화 작업을 하지 않는 이상 매개변수로 넘어오는 NSCoder 는 무시하셔도 무방합니다. 그런데 만약 View 내의 요소를 접근한다면 이는 아직 생성되기 전 상태이기에 에러가 발생합니다. 이외에도 init(nibName: bundle:) 이 존재합니.. 2021. 1. 27. 이전 1 ··· 13 14 15 16 17 18 19 ··· 32 다음