일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- escaping
- class
- viewlifecycle
- Switch
- Observer
- error
- self
- array
- 화면전환
- 고차함수
- mvvm
- http
- ScrollView
- list
- segue
- protocol
- 글또
- apns
- Refresh
- struct
- SWIFT
- Git
- calendar
- singleton
- NotificationCenter
- PushNotification
- IOS
- SWIFTUI
- 회고
- uikit
- Today
- Total
목록IOS (44)
seong_hye, the developer
여러가지로 이루어진 연관된 데이터는 어떻게 저장할까?튜플을 활용한다.튜플원하는 연관된 데이터의 조합으로 어떤 형태든 만들 수 있는 타입(다만, 변수를 선언과 동시 해당 멤버(데이터의 종류 및 갯수)는 결정되므로 추가/ 삭제는 불가) ex) 좌표 (Int, Int) / 3차원 공간( Int, Int, Int) - 접근할 때는 변수명.0, 변수명.1 ==> 점을 활용하여 접근 이름이 매겨진 튜플데이터의 각 요소에 이름을 붙일 수 있음 ex) var iOS = ("Swift", 2024)var iOS = (language: "Swift", year: 2024) - 접근할 때 iOS.language, iOS.year로 접근 가능 ==> 코드의 가독성 높아짐 튜플 분해튜플의 각 요소를 각각 상수, 변수화 가능(바..
타입 캐스팅이란?인스턴스의 타입을 확인하거나 어떠한 클래스의 인스턴스를해당 클래스 계층 구조의 슈퍼클래스나 서브 클래스로 취급하는 방법 - 메모리 값을 수정하는 것은 아님- 단순히 해당 타입의 인스턴스인 것처럼 취급하려는 목적class Person { var id = 0 var name = "이름" var email = "abc@gmail.com"}class Student: Person { var studentId = 1}class Undergraduate: Student { var major = "전공"}let person = Person()let student = Student()let undergraduate = Undergradutae()is 연산자타입에 대한 검사를 수행하는 연산자 (..

흔히 아는 상속의 뜻은 부모가 자식에게 물려주는 것을 의미하듯이프로그래밍에서도 상속은 부모가 자식에게 물려주는 것을 의미한다.상속클래스만 가지는 성격으로본직적으로 성격이 비슷한 타입을 새로 만들어데이터(저장속성)를 추가하거나 기능(메서드)을 변형시켜서 사용하려는 것class 클래스 이름: 부모클래스 이름 { 프로퍼티와 메서드들} 상속의 특징- 상속 하는 클래스는 상위, 메인, 부모 클래스라고 함- 상속받은 클래스를 하위, 서브, 자식 클래스라고 함- 상속된 클래스는 부모 클래스의 모든 기능을 상속받으며 자신만의 기능을 추가하게 함- 하나의 클래스는 하위 클래스를 얼마든지 가질 수 있음- 하위 클래스는 다중 상속 불가능함 class Person { var id = 0 var name = "이름" ..
구조체와 클래스는 둘 다 속성과 메서드로 이루어져 있는데둘의 차이는 상속과 연관이 있는 메서드에서 차이가 나게 된다.이를 제대로 알아보기 위해속성과 함수에 대해 자세히 알아보도록 하자속성저장 속성(Stored Properties)값이 저장되는 일반적인 속성(변수)클래스/구조체의 틀에서 찍어낸 각 인스턴스가 가지는 고유의 데이터 저장 공간변수(var)나 상수(let)로 선언 가능객체의 초기화 시, 각 저장 속성은 반드시 값을 가져야 함(기본값 설정 or 생성자에서 설정 or 옵셔널 타입으로 선언)struct Person { var name = "seonghye" var age: Int?} 지연 저장 속성(Lazy Stored Properties)해당 속성이 반드시 처음부터 초기화가 필요하지 않은 경우..
스위프트에서 수학적인 계산은 어떻게 이루어질까?인간처럼 +,-, x, % 등을 통해 이루어진다.그리고 우린 이걸 연산자라고 부른다.연산자에는 어떻게 나눠볼 수 있을까? 1. 단항 연산자단일 대상의 바로 앞(prefix) 또는 바로 뒤(postfix)에 위치하는 연산자공백 없이 반드시 붙여서 사용한다.+a, -a. !a, a... 2. 이항연산자스위프트에서 가장 많이 사용하는 형태두개의 대상에서 가운데(infix) 위치하는 연산자양쪽에 공백 1칸씩 추가해서 사용하는 것이 일반적 var count = 1 + 4var name = "seong" + "hye" 3. 삼항 연산자코드 내에서의 판단을 간단히 하기 위한 방법count > 2 ? true : false[ 조건문 ? 참인 경우의 표현식 : 거짓인 경우의..
대부분의 언어에서 말하길클래스는 프로그래밍의 패러다임이라고 말한다. 패러다임어떤 한 시대 사람들의 견해나 사고를 지배하고 있는 이론적 틀이나 개념의 집합체 클래스를 도입하면서 객체 지향 프로그래밍이 시작되었다.그렇다면 객체가 무엇일까?객체 (인스턴스)소프트웨어 애플리케이션을 구축하는 블록쉽게 사용하고 재사용할 수 있는 독립적인 기능 모듈속성(프로퍼티) + 함수(메서드)로 이루어짐 객체 지향 프로그래밍쉽게 생각하면 객체를 만들어내는 프로그래밍의미있는 데이터를 묶음으로 만들려는 것클래스와 구조체가 존재함클래스(Class)상속 가능클래스의 객체는 메모리 구조의 힙 영역에 저장됨값 복사시 참조타입(Reference Type)으로 메모리 주소를 가리킴메모리 관리는 ARC 사용 class Student { var ..

Swift에서 다른 프로그래밍 언어에는 없는 새로운 개념을 만들었다.기존의 타입은 메모리 공간에 어떤 형태로 자료가 들어있음을 알려주는 것이였다하지만 만약 메모리에 저장된 값이 없는데 접근한다면?에러가 발생하며 앱이 꺼지게 된다. 이런 상황을 방지하기 위해 탄생한 것이 바로 옵셔널 타입이다.옵셔널(Optional) 타입이란?변수 또는 상수에 값이 할당되지 않은 상황을 처리하기 위해안전하고 일관된 접근 방식을 제공하는 것var number: Int?var name: String? - 변수를 선언할 때, 데이터 타입 선언 다음에 '?' 문자를 두어 옵셔널이 되도록 한다.- number와 name은 어떤 값도 할당되지 않은 nil 값을 가지게 된다. 주의할 점!!- 할당된 값이 없거나 nil을 할당할 수 있는..
반복문이 무엇일까?지정된 조건에 만족할 때까지 반복저긍로 수행하는 구문for - in문어떤 컬렉션이나 숫자 범위에 포함된 일련의 항목들을 반복하는 데 사용사용하기 쉬운 반복문 옵션을 제공for 상수명 in 컬렉션 또는 범위 { //code} - 상수명 : 상수로 사용되는 이름반복문이 실행되는 컬렉션 또는 범위의 현재 항목을 담게 되는 값반드시 선언해야하는 것은 아님 - 컬렉션 또는 범위: 반복문을 통해 참조문자열, 범위 연산자, 컬렉션(배열, 딕셔너리, Set)이 될 수 있음var count = 0for _ in 1...5 { count += 1} // count = 15 주의할 점!중괄호는 변수가 적용가능한 범위를 의미- 중괄호 내에서 밖의 변수는 접근 가능- 중괄호 밖에서 중괄호 내의 변수는..