[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() } ..
Github Suggestion 기능 사용방법
·
Git
STEP 1. Suggestion할 코드를 드래그해서 노란색 표시가 나게합니다! STEP 2. 파란색 +버튼을 눌러주고 +- 아이콘을 눌러줍니다. STEP 3. 코드상에서 suggestion할 내용을 변경하여 start revie를 하면됩니다 ❗주의점 Suggestion 할 때 Commit은 PR올린 사람이 해야 합니다! Commit message도 확실히 생각해주세요! Suggestion을 Commit 하고 브렌치를 다시 수정한다면 PUSH → PULL 후 작업을 진행해야 합니다!
Github Commit message 수정하기
·
Git
1. rebase로 에디터 들어가기 git rebase HEAD~1 -i 터미널에서 위 명령어로 직전 commit message를 수정하기 위해 에디터(편집모드)로 들어간다. 위에서의 HEAD~1은 바로 직전 commit을 수정하고 싶을 경우이고, 좀더 전의 내용을 수정하고 싶다면 HEAD~2, HEAD~3처럼 수정이 필요한 commit이 몇 번째 전인지 고려하고, 그 숫자로 변경해 입력하면 된다. 2. 에디터에서 pick을 reword로 변경 commit message 앞의 'pick' -> 'reword' 변경 후, esc -> :wq! -> enter 💡 이때 Commit Message는 건들지마세요! i 키를 눌러서 수정 모드로 들어간다. 수정모드로 들어가면, 기존에 작성한 commit messa..
[SwiftUI] 애플스토어 앱 클론코딩(스크롤)
·
SwiftUI/개발
애플스토어 스크롤 피그마로 받은 UI 디자인 개발 부분 Scroll 길이 계산 (애플스토어 앱 참고) UIScreen.main.bounds.height 사용 (GeometryReader도 가능) PreferenceKey 프로토콜 사용 기능 : SwiftUI의 레이아웃 시스템에서 뷰의 크기, 위치 또는 다른 사용자 정의 정보와 같은 데이터를 수집하고 공유하기 위해 사용 디바이스의 높이를 측정 enum, switch 사용하여 색상마다 View를 다르게 그려줌 Scroll Animation .onPreferenceChange(OffsetPreferenceKey.self) { value in currentHeight = value print("currentHeight: \\(value)") // 현재 디바이스 ..
[SwiftUI] 알람 앱 클론코딩
·
SwiftUI/개발
아이폰 기본 알람 앱 피그마로 받은 UI 디자인 개발 부분 ObservableObject, @StateObject, @ObservedObject 사용하여 데이터 전달 MainView는 List를 사용하여 Scroll했을때 navigationTitle이 Header 가운데에 올라감 알람을 List에 append하는 방식 알람 모델 클래스 class AlarmModel: Identifiable,ObservableObject { let id : UUID = UUID() var time: String var amPm: String var date: Date @Published var alarmActive: Bool // MARK: CREATE ALARM LIST init(date: Date) { self.dat..