목록iOS/Swift (23)
BIBI BLOG
Swift 코드를 애플 스타일로 작성하는 방법:Part1📝Swift에는 다양한 코드 스타일이 있지만, 가장 좋은 방법은 Apple의 공식 스타일을 따르는 것입니다.이 글에서는 Apple이 사용하는 Swift 코딩 스타일을 예제와 함께 쉽게 설명하겠습니다.1. Boolean 변수는 조건을 명확하게 표현해야 한다✅ Apple은 is, has, should 같은 접두사를 사용하지 않고, 변수명 자체가 조건임을 명확히 표현합니다.📌 Apple 스타일 예제var isPaging: Bool = truevar isUserInteractionEnabled: Bool = falsevar isRefreshing: Bool = false✅ isPaging은 "페이징 중인지 아닌지"를 바로 이해할 수 있습니다.✅ hasI..
Swift 6의 새로운 동시성(Concurrency) 기능 이해하기 🚀Swift 6에서는 동시성 관련 기능이 더욱 강화되었습니다! 이제 UI 업데이트를 더 안전하게 관리하고, 데이터 경쟁 상태(Data Race)를 방지하며, 코드의 안정성을 높일 수 있습니다. 하지만 기존 코드를 Swift 6에 맞게 업데이트하려면 몇 가지 변경이 필요합니다.이 글에서는 Swift 6의 새로운 동시성 기능과 기존 코드에서 발생할 수 있는 경고 및 해결 방법을 쉽고 자세히 설명하겠습니다. 😊1. Swift 6 동시성의 주요 변화Swift 6에서는 코드를 더욱 안전하게 실행하기 위해 동시성 검사를 엄격하게 강화했습니다.아래와 같은 주요 변화가 있습니다.✅ UI 업데이트를 더 엄격하게 관리 (@MainActor 적용 필수)..
SwiftUI가 Struct를 사용하여 뷰를 정의하는 이유SwiftUI는 Apple이 만든 최신 UI 프레임워크로, UIKit과는 다른 방식으로 동작합니다. 그중 가장 큰 차이점 중 하나는 View를 클래스가 아니라 Struct(구조체)로 정의한다는 점입니다.이 글에서는 SwiftUI에서 Struct를 사용하는 이유와 그로 인한 장점을 쉽게 설명하고, 예제 코드를 통해 개념을 더욱 명확하게 알아보겠습니다.1. Struct가 Class보다 빠르고 가볍다! (성능 & 효율성)Struct는 Class보다 가볍고 빠른 데이터 타입입니다.✅ Class는 메모리에 객체(Instance)를 저장하고, 새로운 객체를 만들 때마다 추가적인 관리 비용이 발생합니다.✅ Struct는 단순한 데이터 묶음이기 때문에, 생성하고..
Swift의 @frozen 속성: 더 안정적이고 빠른 코드 만들기 🚀Swift에서 @frozen 속성은 enum(열거형)이나 struct(구조체)가 미래에도 변하지 않을 것임을 명확히 선언하는 기능입니다. 특히 라이브러리나 프레임워크를 만들 때 매우 유용합니다.이번 글에서는 @frozen이 무엇인지, 왜 중요한지, 그리고 어떤 상황에서 사용하면 좋은지 쉽게 설명해 보겠습니다. 💡🔹 @frozen이란?@frozen을 사용하면 해당 enum의 값이 변경되지 않을 것임을 Swift 컴파일러에 알릴 수 있습니다.이 속성을 사용하면 성능이 최적화되고, ABI(Application Binary Interface) 안정성이 보장됩니다.✅ 간단한 개념 정리@frozen이 없는 enum → 앞으로 새로운 값이 추가..
Swift 6.0의 Protocol Extensions: 더 강력해진 POP 🚀Swift가 업데이트될 때마다 개발자들에게 더 많은 기능과 유연성을 제공합니다. 이번 Swift 6.0에서는 프로토콜 확장(Protocol Extensions)이 한층 더 강력해졌습니다. Swift의 대표적인 특징 중 하나인 프로토콜 지향 프로그래밍(POP, Protocol-Oriented Programming)이 이번 업데이트로 더 발전했죠.이 글에서는 프로토콜 확장이 무엇인지, Swift 6.0에서 어떻게 개선되었는지, 그리고 실제 코드에서 어떻게 활용할 수 있는지 쉽게 설명해 보겠습니다.🌟 Swift의 프로토콜 지향 프로그래밍(POP)란?Swift는 객체지향 프로그래밍(OOP)보다 프로토콜 지향 프로그래밍(POP)을 ..
스위프트 상수와 변수, 함수, 클래스 이름을 지정시 규칙 유니코드를 포함한 어떤 문자든지 사용가능 ( 단, 특수문자, 수학 기호, 화살표, 개인용 유니코드, 선 등 사용 할 수 없다. ) 단, 숫자로 시작할 수 없다. 단, 공백이 포함되면 안된다. 단, 해당 코드 범위 내에서 미리 사용되는 기존 이름과 동일한 이름은 사용하지 말 것 이름 읽었을 때 무슨 역할을 하는 건지 파악 가능해야 한다. 명사, 동사 또는 전치사로 이루어진 단어를 연결하여 만든다. 시작 단어를 제외한 모든 단어의 시작은 대문자로 하고 그 이외의 모든 문자는 소문자로 한다. 반복문을 사용할 때 index or employee 대신에 i,e를 사용하기 범위에 한 줄만 있어도 중괄호를 추가한다. 대소문자를 구별해야한다. Var와 var는 ..
안녕하세요, ;) 텍스트를 ASCII 와 Base64로 변환하는 코드입니다. import UIKit var string = "test" let stringToData = string.data(using: .utf8) let data = stringToData! let dataLength = data.count var dataString = String(repeating: "\0", count: dataLength * 2) let dataBytes = [UInt8](data) for idx in 0..