iOS

iOS/Swift

[ Swift ] ARC : Automatic Reference Counting

Swift는 ARC ( 자동 참조 계산 )을 사용하여 앱의 메모리 사용을 추적하고 관리한다.ARC 동작 방식1. 인스턴스 생성과 메모리 할당class의 새로운 인스턴스를 생성할 때 마다 ARC는 해당 인스턴스에 대한 정보를 저장할 메모리 공간을 할당인스턴스의 타입 정보와 프로퍼티의 값이 저장됨.2. 참조 카운트 관리ARC는 사용중인 인스턴스가 메모리에서 해제되지 않도록, 몇개의 프로퍼티, 상수, 변수가 인스턴스를 참조하고 있는지 추적    - 참조 시작 시 : 카운팅 + 1    - 참조 종료 시 : 카운팅 - 1    - 최종적으로 참조 카운트가 0이 되면 인스턴스는 메모리에서 해제3. 메모리 해제참조 카운트가 0이 된 인스턴스는 더 이상 필요하지 않기 때문에, ARC가 해당 인스턴스가 사용했던 메모리..

iOS/Swift

[ Swift ] 접근 제어자

접근제어자클래스와 구조체를 사용하다 보면 외부에서 특정 데이터에 접근을 제한하고 싶을 때가 있다.struct Person { var name: String var age: Int var havingMoney: Int func introduce() { print("안녕하세요. 제 이름은 \(name)이고, 나이는 \(age)살 입니다.") }}var me = Person(name: "Brody", age: 26, havingMoney: 10000)print(me.havingMoney) 내가 가진 돈은 나만 알고 싶은데 다른 사람에게 알리고 싶지 않을때 접근 제어자를 사용하면 외부에서 접근을 못하도록 막을 수 있다.접근제어자는 외부에서 코드에 대한 접근을 제한하..

iOS/Swift

[ Swift ] 중첩 타입

📝 중첩된 타입은 하나의 타입 안에 다른 타입을 정의하는 것을 의미한다.구조적으로 복잡한 클래스나 구조체 등을 더 조직적으로 관리할 수 있습니다.class, struct, enum 등에서 사용할 수 있습니다.중첩된 타입을 사용하면 코드의 가독성을 높이고, 타입 간의 연관성을 명확히 할 수 있습니다.타입의 블록 안에서 다른 타입을 정의하고 사용하는 방식으로 구현합니다.struct Car { struct Company { // Car 안에 중첩된 Company 구조체 var name: String var phoneNumber: String func contact() { print("\(name) 회사의 A/S 센터 번호는 \(ph..

iOS/Swift

[ Swift ] Override

Swift에서 override란? 언제 사용하고, 언제 안 써야 할까? 🚀 Swift에서 override 키워드는 부모 클래스의 메서드, 프로퍼티, 또는 서브스크립트를 **자식 클래스에서 재정의(Override)**할 때 사용됩니다.즉, 기존 기능을 변경하거나 확장하고 싶을 때 필수적으로 사용해야 하는 키워드입니다.override의 개념과 함께 언제 사용해야 하고, 언제 쓰면 안 되는지 자세히 알아보겠습니다.✅ override가 필요한 이유는?부모 클래스의 기능을 변경하려면 반드시 override를 사용해야 합니다.Swift에서는 실수를 방지하기 위해 부모 클래스에 존재하는 메서드를 수정할 때 override를 명시적으로 사용하도록 강제합니다. 예제를 통해 살펴볼까요? 👇class Animal { ..

iOS/Swift

[ Swift ] mutating

사전캠프 과제를 통해 한 번도 사용해보지 않은 mutating 키워드에 대해 다시 한 번 깊이 알아보자.  Swift에서 mutating 키워드는 구조체(struct) 또는 열거형(enum) 내부에서 인스턴스의 속성을 변경할 수 있도록 해주는 키워드 mutating 키워드가 필요한 이유Swift의 구조체(struct)와 열거형(enum)은 값 타입(value type) 이므로, 메서드 내에서 인스턴스의 속성을 변경하려고 하면 기본적으로 컴파일 에러가 발생합니다.struct Counter { var value: Int = 0 func increment() { value += 1 // ❌ 오류: 구조체의 속성을 변경할 수 없음 }} mutating 키워드 사용법struct Co..

iOS/SwiftUI

[ SwiftUI ] Custom Tab Bar 만들기

SwiftUI를 통해 Custom Tab Bar를 만들어 봤습니다.기존의 Tabbar를 사용하기에는 원하는 디자인이 나오지 않아 Custom으로 만들어야겠다고 생각했습니다.TabbarViewTab의 이름들을 enum으로 정의를 해 가독성 향상과 유지보수가 용의하게 만들었습니다.import SwiftUIenum Tab { case home case wishList case camera case cart case account}struct TabbarView: View { @State var selectedTab: Tab = .home var body: some View { VStack { switch selectedTab { ..

Sheep1sik
'iOS' 카테고리의 글 목록 (4 Page)