⌨️ Language/swift248 [Swift] 서브스크립트 서브스크립트(Subscripts)클래스, 구조체, 그리고 열거형에서 스크립트를 정의해 사용 가능콜렉션, 리스트, 시퀀스 등 집합의 특정 멤버 엘리먼트에 간단하게 접근 할 수 있는 문법추가적인 메소드 없이 특정 값을 할당하거나 가져올 수 있음하나의 타입에 여러 서브스크립트를 정의할 수 있고 오버로드(Overload)도 가능단일 인자 값을 넘어, 필요에 따라 복수 인자 값 사용 가능서브스크립트 문법 (Subscript Syntax)서브스크립트는 읽고-쓰기(read-write) 혹은 읽기 전용(read only)만 가능setter, getter 방식을 따름subscript(index: Int) -> Int { get { // 적절한 반환 값 } set(newValue) { .. 2024. 3. 22. [Swift] 메서드 메서드(Methods)특정 타입의 클래스, 구조체, 열거형과 관련된 함수 인스턴스 메서드 (Instance Methods)특정 클래스, 구조체, 열거형의 인스턴스에 속한 메서드인스턴스 내의 값을 제어하거나 변경 가능인스턴스가 속한 특정 타입의 인스턴스에서만 실행 가능class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 }}let counter = Counter()// 초기 count 값은 0입니다.counter.increment()// co.. 2024. 3. 21. [Swift] 프로퍼티 저장 프로퍼티계산 프로퍼티값을 저장하고 있는 프로퍼티값을 저장하고 있지 않고 특정하게 계산한 값을 반환해 주는 프로퍼티클래스와 구조체에서만 사용 가능클래스, 구조체, 열거형 모두에서 사용가능저장 프로퍼티let키워드를 이용해서 상수 혹은 var키워드를 이용해서 변수로 선언해 사용struct FixedLengthRange { var firstValue: Int let length: Int}var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)// 범위 값은 0, 1, 2 입니다.rangeOfThreeItems.firstValue = 6// 범위 값은 6, 7, 8 입니다. 상수 구조체 인스턴스의 저장 프로퍼티구조체를 상수(let)로 .. 2024. 3. 20. [Swift] 클래스와 구조체 클래스 VS 구조체공통점값을 저장하기 위한 프로퍼티 정의기능을 제공하기 위한 메소드 정의 subscript 문법을 이용해 특정 값을 접근할 수 있는 subscript 정의초기 상태를 설정할 수 있는 initializer 정의기본 구현에서 기능 확장특정한 종류의 표준 기능을 제공하기 위한 프로토콜 순응(conform)차이점(클래스만 가능)상속 (Inheritance): 클래스의 여러 속성을 다른 클래스에 물려 줌타입 캐스팅 (Type casting): 런타임에 클래스 인스턴스의 타입을 확인소멸자 (Deinitializers): 할당된 자원을 해제(free up) 시킴참조 카운트 (Reference counting): 클래스 인스턴스에 하나 이상의 참조가 가능구조체를 사용하는 경우주 목적이 관계된 간단한 값.. 2024. 3. 19. [Swift] 클로저 클로저(Closures)어떤 상수나 변수의 참조를 캡처(값의 참조를 갖는다.)해 저장할 수 있는 코드 블럭Swift는 관련된 메모리를 알아서 처리 클로저의 형태전역 함수 : 이름이 있고 어떤 값도 캡처하지 않는 클로저중첩 함수 : 이름이 있고 관련한 함수(하위→상위)로 부터 값을 캡처 할 수 있는 클로저클로저 표현 : 경량화 된 문법으로 쓰여지고 관련된 문맥(context)으로부터 값을 캡쳐할 수 있는 이름이 없는 클로저 클로저 표현 (Closure Expressions)인라인 클로저를 명확하게 표현하는 방법으로 문법에 초점이 맞춰져있음코드의 명확성과 의도를 잃지 않으면서도 문법을 축약해 사용할 수 있는 다양한 문법의 최적화 방법을 제공 정렬 메소드(The Sorted Method)Swift 표준 라이브.. 2024. 3. 18. [Swift] 예외 처리와 함수 1. 예외 처리오류 처리의 개념프로그램에 에러가 발생했을 때, 이를 감지하고 복구하는 프로세스모든 프로그램이 항상 원하는대로 정확히 동작한다는 보장이 없기 때문에 오류가 발생할 수 있음을 항상 고려해야 함guardguard 조건 else {조건이 거짓일 때 실행될 구문}// someValue 가 0이 아닐 경우에만 출력guard someValue != 0 else { return }print(someValue)조건들을 걸러낼 때 사용가독성을 위해 사용조건식에 이 함수가 수행하는데 필요한 조건을 그대로 적는다는 점에서 guard 구문이 코드를 분석할 때 가독성이 좋아짐func printMessage(_ message: String?) { if message == nil { return } print(.. 2024. 3. 17. 이전 1 2 3 4 5 6 ··· 42 다음 반응형