SWIFT/Grammar81 Swift : 기초문법 [메서드 #3 타입 메서드] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 타입 메서드 Type Methods 타입 메서드는 타입 프로퍼티에서 알아봤던 것처럼 static 키워드를 사용한다. 메서드는 특정 타입의 인스턴스에 호출되는 메서드이고, 타입 자체에서 호출되는 메서드를 정의할 수 있다. 이런 종류의 메서드를 타입 메서드라고 한다. 인스턴스 메서드와 동일하게 func 키워드를 사용하며, 이 앞에 static 키워드를 작성하여 타입 메서드를 나타낸다. 타입 프로퍼티와 마찬가지로 클래스는 class 키워드를 사용하여 하위 클래스가 슈퍼클래스의 해당 메서드 구현을 override(재정의)할 수 있도록 할 수 있다. 타입 메서드는 인스턴스 메서드처럼 . 구문으로 호출되지만, 인스턴스로 메서드를 호출하는.. SWIFT/Grammar 2022. 1. 14. Swift : 기초문법 [메서드 #2 mutating] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 먼저 보고 와주세요! Swift : 기초문법 [메서드 #1 인스턴스 메서드, self 프로퍼티] Mutating 메서드 구조체 또는 열거형의 인스턴스가 상수 let 으로 생성된 경우 해당 속성을 변경할 수 없다. 구조체를 만들 때 Swift가 상수 또는 변수와 함께 사용할지 여부를 알지 못하므로 기본적으로 안전한 접근 방식을 취하게 된다. Swift는 특별히 요청하지 않는 한 속성을 변경하는 메서드를 허용하지 않는다. 즉, 값 타입의 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없다는 뜻이다. 만약 구조체 내부 속성 즉, 값 타입의 속성을 수정하려면 인스턴스 메서드에서 mutating 키워드를 사용해야 수정이 가능하다... SWIFT/Grammar 2022. 1. 14. Swift : 기초문법 [메서드 #1 인스턴스 메서드, self 프로퍼티] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 메서드(Method) Class(클래스), Struct(구조체), Enum(열거형)에 포함되어있는 '함수'를 메서드라고 한다. 메서드는 다른 말로 클래스 함수라고도 한다. Struct 는 내부에 함수를 가질 수 있으며, 이러한 함수는 필요에 따라 구조체의 프로퍼티를 사용할 수 있다. 구조체 내부의 함수는 methods 라고하지만 동일한 func 키워드를 사용한다. 클래스, 구조체 및 열거형은 특정 작업이나 기능을 캡슐화한 인스턴스 메서드에 타입 자체와 관련된 타입 메서드를 정의할 수 있다. class Person { //이 메서드는 person 타입에만 작동(적용)됩니다. func personGreeting() { greet(.. SWIFT/Grammar 2022. 1. 13. Swift : 기초문법 [프로퍼티#5 - 키 경로 KeyPath] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 먼저 보고 와주세요! Swift : 프로퍼티#1 - 저장 프로퍼티 Swift : 프로퍼티#2 - 연산 프로퍼티 Swift : 프로퍼티#3 - 프로퍼티 옵저버(감시자) - didSet, willSet Swift : 프로퍼티#4 - 타입 프로퍼티 키 경로 KeyPath 객체의 값을 바로 꺼내오는 것이 아닌, Key 또는 KeyPath 를 이용해서 간접적으로 프로퍼티 위치 참조나 데이터를 가져오거나 수정하는 방법이다. 키 경로를 사용해 간접적으로 특정 타입의 어떤 프로퍼티 값을 가리켜야 할지 미리 지정해 두고 사용 가능. 여기서 경로는 프로퍼티 이름이라고 생각하면 된다. 키 경로는 역슬래시( \ ) 와 타입, 마침표( . ) 경로로.. SWIFT/Grammar 2022. 1. 10. Swift : 기초문법 [프로퍼티#4 - 타입 프로퍼티] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 먼저 보고 와주세요! Swift : 기초문법 [프로퍼티#1 - 저장 프로퍼티] Swift : 기초문법 [프로퍼티#2 - 연산 프로퍼티] Swift : 기초문법 [프로퍼티#3 - 프로퍼티 옵저버(감시자) - didSet, willSet] 타입 프로퍼티 이제 까지 알아본 프로퍼티 라는 개념은 모두 Type을 정의하고 해당 타입의 인스턴스가 생성되었을 때 사용할 수 있는 인스턴스 프로퍼티라고 생각 하면 된다. 즉, 인스턴스 프로퍼티는 특정한 구조체, 클래스에 속하는 저장 프로퍼티와 연산 프로퍼티 이다. 각각의 인스턴스가 아닌 타입 자체에 속하는 프로퍼티를 타입 프로퍼티라고 한다. 인스턴스의 생성 여부와 관계없이 타입 프로퍼티의 값은.. SWIFT/Grammar 2022. 1. 10. Swift : 기초문법 [프로퍼티#3 - 프로퍼티 옵저버(감시자) - didSet, willSet] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 먼저 보고와 주세요! Swift : 기초문법 53 [프로퍼티#1 - 저장 프로퍼티] Swift : 기초문법 54 [프로퍼티#2 - 연산 프로퍼티] 프로퍼티 옵저버 프로퍼티 옵저버는 값이 변경되면 작업을 취할 수 있음. 프로퍼티 값이 변경될 때마다 호출. 변경되는 값이 현재 값과 같더라도 호출됨 상속받은 저장 프로퍼티 또는 연산 프로퍼티에도 적용됨 상속받지 않은 연산 프로퍼티에는 사용 불가(사용할 필요도 없음) : getter과 setter을 통해 감시자를 구현할 수 있기 때문 willSet : 값이 변경되기 직전에 호출하는 메서드 didSet : 메서드와 프로퍼티 값이 변경된 직후에 호출하는 메서드 프로퍼티 옵저버를 정의해서 .. SWIFT/Grammar 2022. 1. 9. Swift : 기초문법 [프로퍼티#2 - 연산 프로퍼티] 본 게시글은 yagom님과Zedd0202님의 게시글을 참고하여 작성되었습니다. 먼저 보고 와주세요! Swift : 기초문법 [프로퍼티#1 - 저장 프로퍼티] 연산 프로퍼티 getter / setter Computed Property 연산 프로퍼티 클래스, 구조체, 열거형에서 사용 가능 var로 선언해야 함 클래스, 구조체, 열거형에 값을 저장할 저장 프로퍼티가 반드시 하나 있어야 함 get, set을 동시에 구현 가능하고, 읽기 전용으로 get만 구현 가능 set의 매개변수를 생략한다면 반드시 newValue 키워드를 사용해야 함 직접적인 값을 저장하지 않고 값을 연산한 결괏값 특정 타입의 인스턴스에 사용되는 것을 뜻함 실제 값을 저장하는 프로퍼티가 아니라, 그때그때 값을 연산하고 값을 돌려주는 접근자 .. SWIFT/Grammar 2022. 1. 8. Swift : 기초문법 [프로퍼티#1 - 저장 프로퍼티] 프로퍼티 프로퍼티란 클래스, 구조체, 열거형에서 소속된 변수 및 속성 등을 불리는 개념 메서드는 특정 타입에 관련된 함수 변수나 상수, 함수 언제 어느 목적에 사용되는지에 따라 용어가 프로퍼티 또는 메서드로 불린다. 프로퍼티 종류 TIP 프로퍼티 종류 ➜ 저장 프로퍼티 Stored Property ➜ 연산 프로퍼티 Computed Property ➜ 타입 프로퍼티 Type Property ➜ 프로퍼티 감시자 Property Observers Stored Property 저장 프로퍼티 인스턴트의 변수나 상수를 의미 구조체와 클래스에서만 사용 가능 저장 프로퍼티는 사용 시점에 따라서 Lazy Stored Property(지연 저장 프로퍼티)라는 것도 있음 특정 타입의 인스턴스에 사용되는 것을 뜻함 Compu.. SWIFT/Grammar 2022. 1. 8. Swift : 기초문법 [UITextField] UITextField TextField는 기본적으로 다크 모드와 라이트 모드를 자동으로 구별한다. Text Input Traits Text 입력 type를 설정 Content Type semantic meaning을 나타냄. 이 프로퍼티를 사용하면, 사용자가 입력하는 내용에 대해 예상되는 semantic meaning에 대한 키보드 및 시스템 정보를 제공. (기본값 Nil) Capitalization 대문자와 관련된 프로퍼티. 일부 키보드 타입은 auto-capitalization을 지원하지 않는다. 특히 keyboardType프로퍼티의 값이 numberPad, phonePad, namePhonePad로 설정된 경우, 이 옵션은 무시됨. Correction 자동으로 교정해주는 프로퍼티. 스크립트 시스템이.. SWIFT/Grammar 2021. 9. 29. Swift : 기초문법 [ 함수 / 매개변수 / 메서드 ] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. 목차 함수 함수는 특정 작업을 수행하는 '코드 조각'입니다. '독립된 기능'을 수행하는 단위인 것이죠. 함수 안에는 메서드를 포함하고 있습니다. 함수와 메서드는 기본적으로 같습니다. 그저 상황이나 위치에 따라 다른 용어로 부르는 것뿐이죠. 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수를 메서드, 모듈 전체에서 전역적으로 사용할 수 있는 함수를 그냥 함수라고 부릅니다. 즉, 함수가 위치하거나 사용되는 범위 등에 따라 호칭이 달라지는 것뿐이지 함수 라는것 자체에는 변함이 없습니다. 함수의 정의 및 호출 앞서 말했다시피 함수와 메서드는 정의하는 위치와 호출되는 범위만 다를뿐, 정의하는 키워드와 구현 방법은 같습니.. SWIFT/Grammar 2021. 7. 9. Swift : 기초문법 [Character / String / Any, AnyObject / nil] 본 게시글은 yagom님의 Swift 프로그래밍 3판을 참고하여 작성되었습니다. Character Character는 '문자'를 의미합니다. 단어, 문장처럼 문자의 집단이 아닌 단 하나의 문자를 의미하죠. Swift는 유니코드 9 문자를 사용하므로 영어, 한국어, 이모티콘 등 유니코드에서 지원하는 모든 언어 및 특수기호를 사용할 수 있습니다. 문자를 표현하기 위해서는 값의 앞 뒤에 큰 따옴표를 사용하여 표현합니다. 아래 예문은 이모티콘과 한글을 사용한 것인데, 실제로 앱을 개발할때 이모티콘과 한글을 변수로 정하는 방식은 사용하지 않습니다. let alphabetA: Character = "A" print(alphabetA) // A let love: Character = "🥰" print(love) //.. SWIFT/Grammar 2021. 7. 1. Swift : 기초문법 [Typealias 타입 별칭] typealias 에 대해 알아보도록 합시다. Typealias Swift에서 기본으로 제공하는 데이터 타입이든, 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름을 부여할 수 있습니다. 즉, 기존에 선언되어있는 유형에 새로운 유형의 별칭을 사용해 코드를 읽고 이해하기 쉽도록 명확하게 만드는 문법입니다. Swift, SwiftUI에서는 이를 세 가지 유형으로 나누어 사용합니다. 1. 내장 유형 [ String ] , [ Int ] , [ Float ] ... 2. 사용자 정의 유형 [ class ] , [ struct ] , [ enum ] ... 3. 복합 유형 [ closuer ] typealias MyName = String typealias YourName = S.. SWIFT/Grammar 2021. 6. 9. Swift : 기초문법 [DispatchQueue란?] (GCD : Grand Central Dispatch) GCD 에 대해 알아보도록 합시다. DispatchQueue DispatchQueue는 작업 항목의 실행을 관리하는 클래스입니다. DispatchQueue는 장점은 일반 Thread 보다 쉽고 효율적으로 코드를 작성할 수 있습니다. 보통 서버에서 데이터를 받고 이미지 동영상을 외부에서 다운로드 및 처리할 때 CPU 사용량이 많아 처리를 Main Thread가 아닌 별도의 Thread에서 처리한 뒤 Main Thread로 결과만을 전달하여 화면에 표시하도록 하여 CPU를 관리할 수 있습니다. DispatchQueue의 종류 : Seral / Concurrent Seral 이전 작업이 끝나면 다음 작업을 순차적으로 실행하는 직렬 형태의 Queue. 하나의 자겁을 실행하고 그 실행이 끝날 때까지 대기열에 있는.. SWIFT/Grammar 2021. 6. 1. Swift : 기초문법 [CGSize와 CGRect의 차이점과 CGPoint] CGSize와 CGRect 둘 다 직사각형을 나타내는 데 사용할 수 있기 때문에 이름이 헷갈릴 수 있습니다. 우선 CGPoint 부터 알아보도록 하겠습니다. CGPoint 정의 : 2차원 좌표계의 점 을 포함하는 구조체. 간단하게 생각하면 X축 Y축 처럼 (1, 2) 이런 식으로 점을 찍는 것입니다. 예를 들어 1은 X좌표 2는 Y좌표를 나타냅니다. iOS에서는 이것을 CGPoint라고 합니다. CGPoint가 어떻게 구현되는지 아래에서 확인해보겠습니다. Public struct CGPoint { public var x: CGFloat public var y: CGFloat public init() public init(x: CGFloat, y: CGFloat) } CGSize 정의 : 너비와 높이 값 .. SWIFT/Grammar 2021. 4. 4. Swift : 기초문법 [Unwrapping with guard] 언래핑에 대한 기초적인 내용을 확인하시려면 여기를 클릭해주세요. Unwrapping guard let guard 문은 뭔가를 검사하여 그 다음에 오는 코드들을 실행할지 말지 결정 하는 것 입니다. guard 문에 주어진 조건문이 거짓일 때, 여기에 달려 있는 코드블럭이 실행됩니다. 조건식에 이 함수가 수행하는데 필요한 조건을 그대로 나타낸다는 점에서 if문에서 부정적인 조건식으로 표현하는것보다 가독성이 높은 장점 있습니다. if 문과 다르게 else 를 항상 달아야 합니다. 아래 함수는 nil 입력을 가드한다는 뜻이고, 만일 입력이 nil이면 guard문은 else절을 수행하고 다른 구문이 수행되기 전에 함수를 return 합니다. func guardInFunc (string: String?) { gua.. SWIFT/Grammar 2021. 3. 2. 이전 1 2 3 4 5 6 다음 한국어 (기본) English Русский 日本語 👉🏻 잠깐만요! 이 글도 한 번 보고 가세요 이전글 다음글 티스토리툴바 서근 개발노트구독하기