출처http://kka7.tistory.com/18 상속 (Inheritance)Swift 는 상위 클래스의 정의가 일치하는지 확인하여오버라이드가 정확히 되는 것을 보장한다. 클래스는 프로퍼티의 값이 변경되었을 때 순서대로 통지하도록상속된 프로퍼티에 프로퍼티 옵저버를 추가할 수 있다.옵저버는 저장프로퍼티, 계산프로퍼티 관계없이 모든 프로퍼티에 추가 가능하다. 상속 기본아무 클래스도 상속받지 않은 클래스를 기본클래스라 한다. Swift 클래스는 보편적인 기본 클래스로부터 상속받지 않는다.상위 클래스를 지정하지 않은 클래스는 자동으로 기본클래스가 된다. class Vehicle { var currentSpeed = 0.0 var description: String { return "traveling at \..
출처http://kka7.tistory.com/17 서브스크립트 문법컬렉션, 리스트, 시퀀스의 멤버 요소에 간편하게 접근하기 위해클래스, 구조체, 열거형에서 서브스크립트를 정의할 수 있다. 서브스크립트는 1차원으로 제한되지 않고사용자 정의 타입의 필요에 따라 여러 개의 입력 매개변수로서브스크립트를 정의 할 수 있다. 서브스크립트는 인스턴스 이름 뒤에 대괄호 ( [ ] ) 안에 하나 이상의값을 작성하여 타입의 인스턴스를 조회하는 것이 가능하다. subscript(index: Int) -> Int { get { // return an appropriate subscript value here } set(newValue) { // perform a suitable setting action here } } 이..
출처http://kka7.tistory.com/16 메소드구조체와 열거형에 메소드를 정의할 수 있는 것이Objective-C 와의 큰 차이점이다. Swift 에서는 클래스, 구조체, 열거형에서 추가할 수 있다. 인스턴스 메소드인스턴스 메소드는 함수와 같은 문법을 가진다. class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 } } let counter = Counter() counter.increment() counter.increment(by: 10) counter.reset() self 프로퍼티 타입의 인스턴스..
출처http://kka7.tistory.com/15 프로퍼티 (Properties)프로퍼티는 특정 클래스, 구조체, 열거형의 연관된 값이다. 저장 프로퍼티는 인스턴스의 일부로 상수와 변수 값을 저장하는 반면계산 프로퍼티는 값을 계산한다. 저장 프로퍼티는 클래스와 구조체에서만 제공되고계산 프로퍼티는 클래스, 구조체, 열거형에서 제공된다. 저장 프로퍼티 (Stored Properties)가장 단순한 형태로 상수나 변수에 저장된다.var, let 키워드가 사용된다. struct FixedLengthRange { var firstValue: Int let length: Int } var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3) // the ..
출처http://kka7.tistory.com/11 클래스와 구조체 개념 Swift 는 사용자 정의 클래스와 구조체에 대해인터페이스와 구현 파일 구분이 필요하지 않다. 클래스나 구조체를 하나의 파일로 정의하고클래스나 구조체를 다른 코드에서 사용하기 위한외부 인터페이스는 자동으로 만들어진다. 클래스의 인스턴스를 전통적으로 객체라고 한다.하지만 Swift 의 클래스와 구조체는 다른 언어에 비해 함수에 더 가깝고클래스 또는 구조체의 타입 중 하나의 인스턴스로 적용할 수 있는 기능을 알아본다. 클래스와 구조체 비교클래스와 구조체는 공통적으로 아래 역할을 모두 할 수 있다. - 값을 저장하기 위해 프로퍼티 정의- 함수를 제공하기 위해 메소드 정의- 값에 대해 서브스크립트 문법으로 접근하기 위해 subscript ..
출처http://kka7.tistory.com/10 열거형 (Enumerations) Swift 의 enum 은 매우 유연하고 열거형의 각 case 에 대한 값을 반드시 제공하지 않는다. 값들은 각 열거형 case 에 대해 제공되며그 값은 문자열, 문자, 정수형, 실수형 타입이 될 수 있다. 또한 열거형은 그 자체로 클래스 타입이다.열거형의 현재 값에 관해 추가정보를 제공하기 위해프로퍼티나 관련된 함수를 제공하는 인스턴스 메소드 등을 사용할 수 있다. 열거형은 초기화를 정의할 수 있고확장하기 위해 확장될 수 있다. 그리고 표준 기능을 제공하기 위해프로토콜을 준수할 수 있다. 문법 enum CompassPoint { case north case south case east case west } Object..
출처http://kka7.tistory.com/9 클로저의 개념스스로를 포함하는 함수 블록이며코드 안에서 전달하고 사용할 수 있다. 클로저는 Objective-C 의 Block 과 다른 프로그래밍 언어의 람다와 비슷하다. 클로저는 정의된 Context 로부터 모든 상수와 변수에 대한 참조를 캡쳐하고 저장한다.Swift 는 캡쳐하는 모든 메모리를 관리해준다. 전역, 중첩 함수들은 클로저의 특별한 경우이다. 클로저 표현식 (Closure Expressions) 클로저 표현식은 문법에 집중하여짧은 시간에 클로저를 작성하는 방법이다. 표현식은 명확성과 의도를 잃지 않고 작성 중인 클로저에 대해최적화하는 몇가지 문법을 제공한다. 아래와 같은 예제가 있다.일반적으로 우리가 썼던 방식이다. let names = ["..
출처http://kka7.tistory.com/8 함수 정의와 호출 기본 형식func greetAgain(person: String) -> String { return "Hello again, " + person + "!"} print(greetAgain(person: "Anna")) 파라미터 없는 함수func sayHelloWorld() -> String { return "hello, world"} print(sayHelloWorld()) 여러개의 파라미터를 가진 함수 func greet(person: String, alreadyGreeted: Bool) -> String { if alreadyGreeted { return greetAgain(person: person) } else { return g..
출처http://kka7.tistory.com/7 흐름제어Swift 의 for-in 문은 array, dictionary, range, string, sequences 에서의반복을 쉽게해준다. switch 의 case 는 다음 case 로 넘어가지 않는다.일반적인 C 에서 break 문을 빼먹는 실수로 발생되는 오류를 피하게해준다. For Loop for index in 1...5 { print("\(index) times 5 is \(index * 5)") } 특별히 index 가 필요없다면 아래와 같이 ( _ ) 언더바를 이용할 수 있다. let base = 3let power = 10var answer = 1 for _ in 1...power { answer *= base} print("\(base..
출처http://kka7.tistory.com/6 컬렉션 타입Swift 는 array, set, dictionary 에 저장할 수 있는 값과 키의 타입에 대해 명확하다.이는 실수로 컬렉션에 잘못된 타입의 값을 추가할 수 없다는 뜻이다. 컬렉션의 수정array, set, dictionary 로 만들고 변수로 할당하면 컬렉션은 mutable 하다.상수로 할당하면 컬렉션은 수정할 수 없고크기와 내용은 바꿀 수 없다. Array타입의 값을 정렬된 목록으로 저장한다.Swift 의 배열 선언법은 아래와 같다.일반적으로 축약형태를 권장한다. 선언 var array = [Int]() var array2 = Array() var array3 : Array 기본값으로 배열 생성하기 var threeDoubles = Arr..
- Total
- Today
- Yesterday
- docker
- AWS
- CIImage
- dictionary
- NSManagedObjectModel
- NSManagedObject
- CGImage
- ios
- EffectiveObjectiveC
- HTTP
- Swift3
- NSManagedObjectContext
- delegate
- Arc
- thread
- set
- UIView
- optional
- RunLoop
- applicationWillResignActive
- Swfit
- Swift 3.0
- coredata
- 꺼내먹어요
- Block
- workerThread
- Swift
- string
- 읽기 좋은 코드가 좋은 코드다
- Swift 3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |