본문 바로가기

SWIFT19

클래스의 상속, 초기화, 생성자 상속의 의미 성격이 비슷한 타입을 새로 만들어 데이터를 추가하거나 기능을 추가 및 변형해 사용하는 것 상속하는 문법 : class 새로운 클래스명 : 상속하고자 하는 클래스명 {} 상위 클래스에서 존재하는 멤버를 변형하는 것은 재정의라고 함, override 키워드 사용해야함 Swift에서는 다중 상속은 불가능 class 선언 시 앞에 final 키워드를 붙이면 상속이 불가능하게 만들 수 있음 변수 앞에 final 키워드를 붙이면 재정의 불가의 의미 클래스 용어 정리 기본(Base) 클래스 : 다른 어떤 것도 상속받지 않은 클래스 부모(Parent) 클래스 | 슈퍼 클래스 | 상위클래스 자식(Child) 클래스 | 서브 클래스 | 하위 클래스 재정의 : 상위 클래스의 변수를 변형하는 것을 의미함, 저장 .. 2023. 7. 31.
Swift 코드로 알아보는 싱글톤(Singleton) 패턴 싱글톤 패턴이란? 메모리상에 유일하게 1개만 존재하는 객체를 설계하는 것을 의미 싱글톤 패턴이 필요한 이유 앱 구현시 유일하게 1개만 존재하는 객체가 필요한 경우에 사용 실제 UIScreen.main 처럼 apple이 싱글톤 패턴으로 만들어 놓은 것을 활용해 사용하게 됨 class Singleton { static let shared = Singleton() // 데이터 영역에 유일한 객체의 주소가 담기게 됨 var id = 123 private init() {} } // 접근하는 순간 lazy하게 동작하여 메모리에 올라감 Singleton.shared object1 = Singleton.shared object1.id = 126 Singleton.shared.id // 126 object3 = Sing.. 2023. 7. 26.
Xcode 프로젝트 만들고 단순 텍스트 변경 앱 만들어보기! 목표 : 새로운 프로젝트를 만들고 Library에서 버튼과 텍스트를 추가한 뒤 버튼이 클릭 되었을 때 바뀌도록 해보기 1. New Project로 화면만들고 iOS => App 선택 후 Next 버튼 클릭 2. new project Setting 화면 입력 3. 화면 생성 후 Project Navigator에서 Main 클릭 시 아래 앱화면 같은 스토리보드 등장 3-1. control + option + command + enter 단축키로 코드탕인 Assistant 창 열기 4. Library 열고 Label과 Button 하나씩 스토리보드에 끌어오기 * Library 열기 : 우측 상단에 + 버튼 클릭 또는 단축키 command + Shift + L * font 크기 및 버튼 색상 변경 등은 우측 상.. 2023. 7. 12.
자바스크립트와 비교하며 Swift 공부하기 - 열거형편 자바스크립트에서 오타 등을 방지하기 위해 Constant.js 파일을 만들어 불러와 사용했던 것을 Swift에는 열거형 문법으로 정의되어있다고 생각하면 됨 열거형(Enumerations) 관련 있는 상수들을 하나의 이름으로 묶는 자료형 코드의 가독성과 안정성이 높아짐 주로 switch문으로 분기처리하여 사용 enum Fruit { // 타입이름은 대문자를 사용 case apple // 케이스이름은 소문자를 사용 case banana case grape } var myFavoriteFruit: Fruit = Fruit.apple // 위처럼 타입을 명시해 준 경우 아래와 같이 작성 가능 myFavoriteFruit = .grape 열거형의 원시값 enum Fruit: Int { case apple // 0.. 2023. 7. 11.
Javascript와 비교하며 Swift 공부하기 - Set편 Set // 정식 문법 let set: Set = [1,1,2,4] // 단축 문법 let set: Set = [1,1,2,4] 집합과 비슷한 연산을 제공하는 순서가 없는 컬렉션으로 서브스크립트 관련 문법이 없음 요소값을 중복으로 넣어도, 집합의 의미상 중복 저장이 되지 않음, 각 요소는 유일한 값으로 Hashable 값의 검색에 Hashing 알고리즘을 사용하므로 검색속도가 중요한 경우에 사용함 빈 Set 생성방법 let emptySet1: Set = [] let emptySet2= Set() Set 기본 기능 set.count set.isEmpty set.contains(1) set.randomElement() set.update(with: 1) set.remove("3") set.removeAll(.. 2023. 7. 8.
자바스크립트와 비교하며 Swift 공부하기 - Dictionary편 Dictionary // 정식 문법 let dic: Dictionary = ["name": "Rarla", "gender": "female"] // 단축 문법 lec dic: [String: String] = ["name": "Rarla", "gender": "female"] 데이터를 키와 값으로 하나의 쌍으로 만들어 관리하는 컬렉션, 순서는 중요하지 않음 키 값은 유일해야 한다. (Hashable 해야 함. 즉, 해시함수를 사용해 유일한 값으로 변환이 가능해야 함) 검색을 하려고 할 때, 배열은 순차적으로 검색해야 해서 시간이 많이 걸리지만 Hash로 변환되어 저장하게 되면 해당하는 값으로 바로 접근할 수 있어 검색 속도가 빠름 동일한 타입 쌍의 데이터만 담을 수 있음 딕셔너리의 값에 딕셔너리나 배.. 2023. 7. 8.