[SwiftUI] Combine - 기본
·
SwiftUI/정리
Combine을 쓰면 좋은 이유 아래 코드 예시는 로그인을 할때 userId와 userName을 가져올때 사용할 수 있는 코드이다. switch case를 사용하며 값이 두개 밖에 처리 할 것이 없을때는 사용 가능하겠지만 값이 점점 많아지고 복잡해지면 switch case를 이용해서 하기 어려워질 것이다. func fetchUserId(_ completionHandler: @escaping (Result ) -> Void){ DispatchQueue.main.asyncAfter(deadline: .now() + 2) { let result = 24 completionHandler(.success(result)) } } func fetchName(for userId: Int,_ completionHandl..
[SwiftUI] Combine
·
SwiftUI/정리
Combine Framework 시간에 따라 값들을 처리하기 위한 선언적인 Swift API 시간에 따라 변할 수 있는 값으로 노출하기위해 publisher를 선언합니다 publisher로부터 받아오기 위한 subscriber를 선언합니다. publisher는 시간에 따라 일련의 값을 전달할 수 있는 타입을 선언하며, 연산자를 사용하여 상위 발행자로부터 받은 값을 처리하고 다시 발행할 수 있습니다. subscriber는 publisher로부터 이벤트를 얼마나 빨리 받을지 제어 할 수 있습니다. 텍스트 필드의 업데이트와 URL 요청, 응 답 처리 등을 조율할 수 있습니다. 코드를 더 읽기 쉽고 유지 보수하기 쉽게 만들 수 있습니다. 이벤트 처리 코드를 중앙 집중화하여 중첩된 클로저 및 규약 기반 콜백과 같..
[Swift] SwiftLint
·
SwiftUI/정리
SwiftLint가 뭘까? 회사나 팀에서 정한 스타일 규칙을 따르지 않는 코드를 확인하고 표시하는 것을 도와줘요. 일관된 코드를 작성하는데 도움을 주는 역할을 해요. 공식 Swift 언어 문서와는 직접적인 관련이 없어요! SwiftLint를 사용하는 이유는?? 1. 신경이 분산되지 않고 중요한 것에 집중 모든 Swift 코드가 일관성을 유지하도록 하기 위해서! 새로운 개발자가 합류하거나 예전 코드를 읽을 때 읽기 쉽도록 도움을 줍니다. 이렇게 일관적으로 코드를 작성하면 어떤 코드가 파일의 다른 부분과 비교해서 문법이 이상한 부분을 찾는 역할을 한다고 해요 2. 프로젝트간 일관성 유지 개인 프로젝트, 회사 프로젝트 혹은 전체 Swift 커뮤니티간에도 일관성 유지가 필요해요 한 프로젝트에서 SwiftLint..
[SwiftUI] NavigationStack
·
SwiftUI/정리
기존 네비게이션 NavigationLink("Details", isActive: $item.showDetail) { DetailView() } 새로운 네비게이션 API Navigation의 새로운 종류 NavigationStack 새로운 시스템 설정 앱, 애플워치 앱 등 (푸시 팝 인터페이스) NavigationStack(path: $path) { NavigationLink("Details", value: value) } NavigationSplitView Mail 또는 Notes와 같은 다중열 애플리케이션에 적합 iPhone, iPad의 SlideOver, AppleWatch와 Apple TV의 단일 열 스택에 자동으로 적응 NavigationSplitView { RecipeCategories() } ..
[Swift] 기본 문법 정리
·
SwiftUI/정리
이름짓기 규칙 기본적으로 카멜 케이스 사용 Lower Camel Case: fuction,method,variable.constant Upper Camel Case: type(class,struct,enum,extension) 콘솔 출력 print 단순히 문자열 출력 dump 인스턴스의 자세한 설명(description property)까지 출력 문자열 보간법 String Interpolation 프로그램 실행 중 문자열 내에 변수 또는 상수의 실질적인 값을 표현하기 위해 사용한다. \( ) import Swift let age: Int = 10 "안녕하세요 저는\\(age + 5)살입니다!" Any, AnyObject, nil Any Swift의 모든 타입을 지칭하는 키워드 어떤 타입도 수용 가능합니다..
[Swift] 첫 iOS 앱 개발자를 위한 가이드 from Lingo
·
SwiftUI/정리
Intro 안녕하세요 bulmang입니다~! 오늘은 Lingo가 설명해주신 내용을 따로 정리하여 공유하고자 합니다! 내용은 iOS 개발이 처음이신 분들을 위한 내용으로 한번 참고 하시면 좋을 것 같습니다. apple은 생각보다 다양한 사이트를 가지고 있습니다. https://www.apple.com/education/ Education Apple technology and resources empower every kind of educator and student to learn, create, and define their own success. www.apple.com https://www.apple.com/swift/ Swift - Apple Swift is everywhere. And now i..