본문 바로가기

iOS/Swift

(13)
Swift 공식문서 9. Structures and Classes https://docs.swift.org/swift-book/documentation/the-swift-programming-language/classesandstructuresDocumentationdocs.swift.orgComparing Structures and Classes공통점저장 프로퍼티 정의 가능메서드 정의 가능subscripts 정의 가능생성자로 초기 값 설정 정의Extension으로 기본 구현에 기능을 확장 가능Protocol 채택 가능클래스가 추가적으로 갖는 것하나의 클래스 상속 가능타입 캐스팅으로 런타임에 클래스 인스턴스의 타입을 확인하고 해석 가능Deinitializer로 클래스의 인스턴스가 할당한 자원 해제 가능(Reference Counting) 클래스 인스턴스에 대해 하나 이..
Swift 공식문서 8. Enumeration https://docs.swift.org/swift-book/documentation/the-swift-programming-language/enumerations Documentation docs.swift.orgOverview열거형은 연관성 있는 값들의 그룹을 위한 공통 타입열거형은 값 타입(Value Type)열거형에 원시 값(raw value)을 제공할 수 있다.String, Character, Int, Float, Double열거형은 1급 객체이다.1급 객체 (first-class citizen)변수나 데이터에 할당할 수 있어야 한다.객체의 인자로 넘길 수 있어야 한다.객체의 리턴값으로 리턴할 수 있어야 한다.계산 프로퍼티, 인스턴스 메서드 지원 가능생성자 정의, Extesnsion, 프로토콜 ..
Swift 공식문서 7. Closures https://docs.swift.org/swift-book/documentation/the-swift-programming-language/closuresDocumentationdocs.swift.org Swift 공식 문서 보면서 내 맘대로 정리Overview클로저는 기능이 자체적으로 포함된 코드 블록이며, 코드에서 전달되어 사용될 수 있다.다른 프로그래밍 언어의 클로저, 익명 함수, 람다, 블록과 유사클로저는 정의된 컨텍스트에서 상수나 변수에 대해 참조를 캡처하고 저장할 수 있다.Swift는 캡처와 관련된 모든 메모리를 자동으로 관리 클로저가 가질 수 있는 모양 전역 함수(Global Function) : 이름을 갖고, 값을 캡처하지 않는 클로저 중첩 함수(Nested Fuction) : 이름을 갖..
Swift 공식문서 6. Functions https://docs.swift.org/swift-book/documentation/the-swift-programming-language/functions Documentation docs.swift.orgSwift 공식 문서 보면서 내 맘대로 정리 [다룰 내용들에 대한 요약]함수는 특정 작업을 수행하는 독립적인 코드 블록작업을 수행할 때, 함수의 이름을 사용하여 해당 함수를 "호출"한다.Swift의 함수 구문은 C 스타일 함수부터 각 파라미터에 이름과 레이블을 사용하는 Obj-C 스타일의 메서드까지 표현할 수 있을 정도로 유연하다.파라미터는 기본 값을 가질 수 있어 함수 호출이 더 간단해지며, in-out 파라미터를 통해 함수가 실행된 후에 전달된 변수를 수정할 수 있다.Swift의 모든 함수는 타..
Swift - In-Out 파라미터 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/declarations#In-Out-ParametersDocumentationdocs.swift.org inout 파라미터 기본 동작Swift에서는 기본적으로 함수 인자는 value로 전달한다. 함수 내에서 이뤄진 변경 사항은 호출부에서 확인할 수 없고, 변경을 원한다면 inout 파라미터를 적용해야 한다. inout 파라미터를 포함하는 함수를 호출할 때, inout 인자는 &를 사용하여 전달한다. 이를 통해 함수 내부에서 변경된 값이 함수 외부에도 반영이 된다.func someFunction(a: inout Int) { a += 1 } var x = 7 someF..
Swift 공식문서 5. Control Flow https://docs.swift.org/swift-book/documentation/the-swift-programming-language/controlflow Documentation docs.swift.org Swift 공식 문서 보면서 내 맘대로 정리 Swift는 다양한 제어흐름 문장을 제공한다.반복을 위한 while조건 분기를 위한 if, guard, switch코드 흐름을 다른 지점으로 전환하는 break, continue배열, 딕셔너리, Range, 문자열 등 시퀀스 반복을 돕는 for-in현재 스코프를 벗어날 때 실행하는 deferFor-In LoopsSequence를 반복하여 처리하고 싶을 때 for-in 루프를 사용items in an arrayranges of numberscharac..
Swift - Strideable Protocol https://developer.apple.com/documentation/swift/strideable Strideable | Apple Developer DocumentationA type representing continuous, one-dimensional values that can be offset and measured.developer.apple.com   Definition Strideable은 연속적인 1차원 값을 나타내며, offset(차이)을 계산하고 측정(거리 계산)할 수 있는 타입을 정의한다. 즉, 어떤 값이 Strideable 프로토콜을 채택하면, 그 값 사이의 거리를 측정하거나, 일정 간격으로 값을 증분시킬 수 있다는 의미이다. protocol Strideable : Com..
Swift 공식문서 4. Collection Types https://docs.swift.org/swift-book/documentation/the-swift-programming-language/collectiontypes Documentation docs.swift.org Swift 공식 문서 보면서 내 맘대로 정리Swift에서 제공하는 Collection TypeArraySetDictionary모든 Collection 들은 변경 가능하다.var로 선언하면 값을 추가, 삭제, 변경 가능하다. (mutable)let으로 선언하면 추가, 제거, 변경 불가능 하다. (immutable)ArrayArray는 같은 타입의 값들을 순서대로 저장중복된 값이 여러 장소에 존재할 수 있다.빈 Array 생성var someInts = [Int]()Array의 모든 값을 동..