분류 전체보기 (53) 썸네일형 리스트형 UserDefault UserDefaultclass UserDefaults : NSObject사용자의 기본 데이터베이스에 대한 Interface앱 실행 시 Key-Value 값으로 데이터를 영구적으로 저장(Filesystem : Library - Preferences)→ 앱이 시작될 때 UserDefaults.plist 파일이 메모리에 로드되기 때문에, 많은 양의 데이터를 UserDefaults에 저장하면 앱 성능이 저하됨Default System(기본 시스템)과 상호 작용→ Default System을 사용하면 앱이 사용자가 지정한 설정에 맞게 동작런타임에 UserDafaults 객체를 사용하여 앱이 Default Database를 캐시하여 사용이때 Preference에 직접 접근은 제한됨→ 사용자가 탐색기 앱을 사용하여 .. A Swift Tour(2) 🌈 객체와 클래스 - Objects & Classes 클래스 생성 방법 - class 클래스이름 → 클래스 선언 클래스 내부 선언 기존의 상수/변수/메서드/함수를 선언하는 방식과 동일하지만 클래스의 context 내부에서 라는 점이 다름 class Shape { var numberOfSides = 0 func simpleDescription() -> String { return "A shape with \(numberOfSides) sides." } } 클래스 인스턴스 생성 - 클래스이름() → 클래스 인스턴스 생성 - 클래스이름.프로퍼티 → 클래스 프로퍼티 접근 - 클래스이름.함수() → 클래스 함수 실행 var shape = Shape() shape.numberOfSides = 7 var shapeD.. UIResponder UIResponder 란? 이벤트에 응답하고 이벤트를 처리하기 위한 추상 인터페이스 UIResponder의 인스턴스(응답자 개체)는 UIKit 앱의 이벤트 처리 근간을 구성 UIApplication / UIViewController / UIWindow를 포함한 UIView 이러한 주요 개체들 또한 응답자임 Responder 개체의 역할 1️⃣ 이벤트가 발생 시 UIKit은 처리를 위해 앱의 Responder 개체에 이벤트를 전달 이벤트란 터치, 모션, 원격 제어, 프레스 등 다양한 것이 존재 특정 이벤트를 처리하려면 응답자가 해당 메서드를 override 해야 함 ex) 터치 이벤트를 처리하고자 할 때 → 응답자는 UIKit에서 제공하는 터치 이벤트를 사용 → 터치에 대한 변경 내용을 추적하고 앱의 인터.. Storyboard 스토리보드 iOS 앱의 사용자 인터페이스를 시각적으로 표현 컨텐츠 화면과 해당 화면간의 연결을 보여줌 Xcode는 스토리보드용 시각적 편집기를 제공함 💛 스토리보드는 일련의 scene들로 구성되어, 각 scene은 ViewController와 View를 나타냄 💛 ViewController간의 화면전환은 Seque 객체로 연결됨 💛 스토리보드를 사용하면 View를 Controller 개체에 연결하고 ViewController간의 데이터 전송을 관리할 수 있음 TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Ch.. A Swift Tour (1) Swift의 기능과 구문을 살펴보자! 새로운 언어의 첫번째 프로그램 전통적으로 새로운 언어의 첫번째 프로그램은 "Hello, world!"를 출력하는 것 Swift에서는 한줄로 표현이 가능 print("Hello, world!") // Prints "Hello, world!" 이 자체만으로 완벽한 프로그램임 출력, 문자열 처리와 같은 기능을 위해 별도의 라이브러리를 가져올 필요가 없음 전역 범위에서 작성된 코드는 프로그램의 전체에서 사용되기 때문에 main() 함수가 필요 없음 Simple Value 상수는 let, 변수는 var를 사용하여 값 생성 상수는 컴파일타임에 알 필요가 없지만 반드시 한번은 할당되어야 함 할당은 한번만 되지만 여러 위치에서 호출될 수 있음 할당 시 타입에 맞게 값을 입력해야하지.. Version Compatibility 이전 버전 언어 모드에서 사용 가능한 기능을 알아보자 Swift의 default 버전 Swift 5.9.2버전이 기본 버전 Xcode 15.1은 해당 버전으로 포함하고 있음 그렇기 때문에 Swift 5.9.2, Swift 4.2, Swift 4로 작성된 코드를 빌드할 수 있음 Swift 5.9.2 이후 버전에서만 사용 가능한 기능 Opaque type을 반환하는 함수는 Swift 5.1 런타임이 필요 try? 표현식은 추가로 옵셔널 표현식을 도입하지 않음 큰 정수의 문자 초기화 표현식은 올바른 정수 타입으로 추론 ex) UInt64(0xffff_ffff_ffff_ffff)는 오버플로우가 아닌 올바른 값임 Concurrency는 Swift 5.9.2 이후 버전과 동시성 타입을 지원하는 Swift Stand.. About Swift Swift Language를 깊게 이해해보자! Swift - 안전하고 빠른 프로그래밍 언어 - 현대 언어 사고방식과 오픈소스 커뮤니티의 지혜를 결합한 언어 - Scripting언어와 유사한 산업용 품질의 프로그래밍 언어 - 컴파일러는 선능에 최적화 되어있고, Swift 언어는 개발에 최적화 되어있음 Swift의 프로그래밍 오류 Swift는 최신 프로그래밍 패턴을 채택하여 다량의 class들에 대한 프로그래밍 오류를 정의 - 변수는 사용 전 초기화 되어야 함 - Array(배열)의 인덱스 범위 초과 시 에러를 확인해야 함 - Int(정수)는 overflow를 확인해야 함 - Integer overflow overflow란 단어 그대로 '과다' 상태에 대한 에러 Int가 지원가능한 범위의 수를 넘은 경우 정.. Opaque And Boxe Type - 이해용 샘플 코드 protocol Serenable { // Generic은 타입을 지정을 해줘야 사용할 수 있음 associatedtype Element func runRowan() } func whatRetrunType(_ serena: T) -> T { return serena } func whatRetrunType(serenable serena: T) -> any Serenable { // 현재 타입을 모르기때문에 any return serena } func whatReturnType(opaque serena: T) -> some Serenable { return serena } struct Rowan: Serenable { typealias Element = Int func runRowan() { print("로.. 이전 1 2 3 4 ··· 7 다음