[TIL] Swift 문법 클래스와 구조체
·
기타/Today I Learned
클래스와 구조체(Classes and Structures) 클래스와 구조체는 프로그램의 코드를 조직화 하기 위해 일반적으로 사용 OOP를 위한 필요 요소 클래스와 구조체의 비교 (Comparing Classes and Structures) Swift에서 클래스와 구조체는 많은 공통점이 있움. 클래스와 구조체 둘다 다음과 같은 기능이 가능. 공통점 값을 저장하기 위한 프로퍼티 정의 기능을 제공하기 위한 메소드 정의 subscript 문법을 이용해 특정 값을 접근할 수 있는 subscript정의 초기 상태를 설정할 수 있는 initializer 정의 기본 구현에서 기능 확장 특정한 종류의 표준 기능을 제공하기위 한 프로토콜 순응 프로퍼티, 메소드, 서브스크립트, 초기화, 확장 그리고 프로토콜을 참조 구조체로..
[TIL] Swift 문법 열거형(Enum)
·
기타/Today I Learned
열거형 열거형은 관련된 값으로 이루어진 그릅을 공통의 형으로 선언해 형 안전성(type-safety)을 보장하는 방법으로 코드를 다룰 수 있게 해줌. case값이 string,character,integer,floating 값들을 사용 가능 열거형 1급 클래스 형이어서 계산된 프로퍼티를 제공하거나 초기화를 지정하거나,초기 선언을 확장해 사용 enum키워드를 사용해 열거형을 정의 enum CompassPoint { case north case south case east case west } // 콤마로 구분 가능 enum Planet { case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune } Swift에서 열거형은 생성될 때 각 case..
[TIL] Swift 문법 클로저(Closures)
·
기타/Today I Learned
클로저 💡 클로저는 코드 블록(중괄호{} 에 둘러싸인 코드)으로, 독립적인 기능을 수행하는 함수와 비슷한 역할 함수와 마찬가지로 입력 매개변수와 반환 값이 있을 수도 있음,다른 함수에 전달 할수 있고 함수 내부에서 선언하여 사용 가능.클로저를 사용하여 함수의 매개변수로 전달가능 클로저의 일반적인 사용 사례 : 비동기적으로 실행되는 코드에서 콜백함수로 사용 클로저는 어떤 상수나 변수의 참조를 캡처해 저장, Swift는 이 캡처와 관련한 모든 메모리를 알아서 처리 클로저 포현(Closure Expressions) 인라인 클로저를 명확하게 표현하는 방법으로 문법에 초점이 맞춰짐. 코드의 명확성과 의도를 잃지 않으면서도 축약해 사용할 수 있음으로 문법의 최적화 방법 제공 정렬 메소드(The Sorted Meth..
[TIL] Swift 문법(함수 Functions)
·
기타/Today I Learned
함수 정의와 호출 함수를 선언할때는 가장 앞에 func 키워드를 붙이고 (person:String) 파라미터와 형 그리고 → String 형태로 정의함 func example(person:String) -> String { let greeting = "Hello," + person + "!" return greeting } 정의한 함수에 인자 값을 넣어 호출한 예시 print(example(person: "Bulmang")) // Print "Hello, Bulmang!" 위 함수에서 메세지를 결합하는 부분과 반환하는 부분을 합쳐서 더 짧게 만들 수 있음 func shortExample(person: String) -> String { return "Hello again, " + person + "!" ..
[TIL] Swift 제어문
·
기타/Today I Learned
For-In 문(For-In Loops) for-in문는 배열,숫자,문자열을 순서대로 순회하기 위해 사용 let name = ['Bulmang','Jun','Malty','Nova','Jay'] for name in names { print("Hello, \\(name)!") } Dictionary에서 반환된 키값쌍으로 구성된 튜플을 순회하며 제어 가능 let number = ['Bulmang':25,'Jun':27,'Malty':29,'Nova':23,'Jay':29] for (name,age) in nubmer { print("\\(name) : \\(legCount)") }ㅓ Dictionary에 담긴 내용은 정렬이 되지 않은 상태, 사전에 넣었던 순서대로 순회되지 않음.아래와 같이 숫자 범위를 지..
[TIL] Swift 문법(문자열과 문자)
·
기타/Today I Learned
💡 Swift의 String은 Foundation 프레임워크의 NSString이 bridge된 타입이기 때문에 NSString의 메소드를 String에서 캐스팅 없이 사용 가능합니다. 내가 이 글을 읽었을 때 이해한것은 Foundation안에 NSString이 있어서 String을 사용할 수 있다. 정확히 이해하기 위해 검색을 해봤다. bridge : Objective-C 간의 상호 운용성을 위해 제공되는 기술로, Swift 코드와 Objective-C 코드 간의 상호작용을 가능하게 한다. Swift는 Foundation 프레임워크와의 높은 상호 운용성을 지원하기 위해, **String**과 NSString 사이의 자동적인 타입 변환을 제공합니다. 따라서 **String**에서 **NSString**의 ..