Swift 15

iOS Custom Calendar 구현하기 5

안녕하세요 기본틀을 만들어졌으니 본격적으로 Custom Calendar를 만들어보겠습니다. 혹시 아직도 기본틀을 만들어 놓지 않으신 분들은 아래 블로그를 참고하시면 됩니다. https://yeomir.tistory.com/22 iOS Custom Calender 구현하기 Uikit으로 돌아왔습니다. 이번에는 라이브러리를 사용하지 않고 CustomCalendar를 구현해보도록 하겠습니다. 1) 최상단에 있는 View를 먼저 구현해보겠습니다. 최상단은 button, title, button button으로 구성 yeomir.tistory.com 자 시작! 클릭했을때 Cell의 배경 색을 바꾸게 하려면 어떻게 해야할까? 1) UICollectionViewDelegate의 메소드가 무엇이 있는지 찾아본다. //..

Swift 2023.04.20

iOS Cutsom Calendar 구현하기 4

마지막을 향해 달려가고 있습니다. 오늘 할 것은 버튼을 눌렀을때 액션을 만들어 줄겁니다. 1) previousButton Clicked 액션 만들기 extension 안에 // 이전 달로 가는 메서드 func minusMonth() { // date(byAdding: ~ ) 지정된 날짜에 구성요소를 추가하여 계산된 날짜를 반환 메소드 calendarDate = calendar.date(byAdding: DateComponents(month: -1), to: calendarDate) ?? Date() updateCalendar() } DateComponents에 대한 내용을 보면 DateComponents을 활용하여 시간대를 설정 할 수있습니다. 2) previoutButton에 addtarget을 통해 ..

Swift 2023.04.18

iOS Custom Calendar 구현하기 3

자 오늘은 본격적으로 Calendar 구조체를 이용해서 만들어보겠습니다. 그래서 Calendar 구조체가 뭐하는 녀석인데?? 흠... 뭔가 이해하기 어려운데 쉽게 설명드리면 날짜를 계산하고 비교해주는 기능 Calendar의 객체를 생성할때는 두가지 방식으로 사용 가능합니다. 사용 방법으로는 이렇게 있습니다. 적용시켜 보겠습니다 1) CustomCalendarViewController.swift에 프로퍼티를 만들어줍니다. // user의 현재 캘린더 private let calendar = Calendar.current // 입력되는 날짜를 형 변형 시키기위해 DateFormatter() 객체 생성 private let dateFormatter = DateFormatter() // Date() 를 생성해서..

Swift 2023.04.18

iOS Custom Calendar 구현하기2

네!~ 안녕하세요 다시 돌아왔습니다. 그럼 작업 이어서 진행해보겠습니다. 1) 최상단 View아래에 있는 일(Day)를 구현 달력을 보면 격자모양 처럼 생겼으니 뭘 하면 좋을까 생각하다... 다재다능한 CollectionView를 활용해서 작업을 진행했습니다. // MARK: - CollectionView lazy var collectionView: UICollectionView = { let flowLayout = UICollectionViewFlowLayout() let collectionView = UICollectionView(frame: .zero, collectionViewLayout: flowLayout) return collectionView }() collectionView를 구현하는 방..

Swift 2023.04.17

iOS Custom Calender 구현하기

Uikit으로 돌아왔습니다. 이번에는 라이브러리를 사용하지 않고 CustomCalendar를 구현해보도록 하겠습니다. 1) 최상단에 있는 View를 먼저 구현해보겠습니다. 최상단은 button, title, button button으로 구성되어있습니다. class CustomCalendarViewController: UIViewController { // MARK: - Properties // MARK: - 년, 월 ( 메인 타이틀 ) var titleLabel: UILabel = { let title = UILabel() title.font = UIFont.systemFont(ofSize: 15, weight: .semibold) title.text = "2023년 01월" title.textColor..

Swift 2023.04.17

어서와 SwiftUI @FetchRequest는 처음이지?

SwiftUI에서 Core Data를 사용할때 같이 사용하면 좋은 @FetchRequest에 대해 설명해보겠습니다. 그럼 Core Data가 무엇인가요? 데이터를 디바이스에 저장하는 하는 방법으로는 @AppStorage, UserDefault가 있지만 이러한 것들은 간단한 정보(즉, 원시타입) 를 저장하기에 적합했다면... Core Data는 복잡하고 다른 객체간의 관계를 관리하며 user data를 저장하기에 적합합니다. @AppStorage에 대해 궁금하다면 https://yeomir.tistory.com/11 어서와(SwiftUi) AppStorage는 처음이지? @AppStorage 란 무엇인가? - Swift에서는 앱을 빌드하고 실행할때 메모리에는 String과 Int형식으로 저장된다. 상태변화..

Swift 2023.03.23

SwiftUI @AppStorage 심화편

@AppStorage 심화편으로 돌아왔습니다. 이번 차트에서는 @AppStorage를 사용하여 프로젝트를 만들어 볼테데요. 기초편에서도 말했지만 간단히 짚고가지면 @AppStorage는 Int, String과 같은 원시타입만 저장할수 있어요 그래도 기억이 안난다 싶으면 블로그를 참고해보세요 https://yeomir.tistory.com/11 어서와(SwiftUi) AppStorage는 처음이지? @AppStorage 란 무엇인가? - Swift에서는 앱을 빌드하고 실행할때 메모리에는 String과 Int형식으로 저장된다. 상태변화가 될때 사용하는 @State와 @StateObject랑 차이점은 뭔가요? A. 앱을 종료하면 메모리 yeomir.tistory.com 자 그럼 심화편 시작하겠습니다. 이 프로..

Swift 2023.03.22

SwiftUI OpenAPI 적용시키기

오늘은 간단하게 OpenAPI를 활용하여 영화 순위를 만들어보겠습니다. 사이트는 영화진흥회를 이용했습니다. 영화 진흥회 상단에 있는 로그인 -> 키 발급 후 이용 할 수 있습니다 ( 키 발급은 3일정도 걸리는거 같습니다...), 로그인후 상단에 OPEN API -> 기본 요청 URL사용 ( 끝단에 .json으로 변경후 사용 ) 엥? 스러울수 있습니다.. 아니왜 안나타나지? 사이트 하단에 보면 요청 예시 ( 응답 예시라고 되어있음...) 예시를 보면 .json 뒤에 ?( 물음표 ) 가 붙고 key 값 있는데, 로그인하고 발급 받은 키 값을 적고, &(그리고를 뜻함) targetDt(조회하고자 하는 날짜를 yyyy.mm.dd형식으로 입력)= (원하는 날짜를 적으면 된다) 요청 예시로 불러들인 것을 보면 1위..

Swift 2023.02.14

우당탕탕 앱 출시 리젝...

앱 출시를 하고 2~3일 정도 예상을 했지만 하루만에 이메일로 연락이 왔다. 리젝 사유 1. 애플 로그인 단어 수정: 기존 - Apple ID로 로그인 2. 로그인시 닉네임 요구 3. 포인트를 얻을 수 있는 방법은? 개선 1. 애플에서 규정하는 단어는 Sign in with Apple, Sign up with Apple, Continue with Apple로 구성되어 있으며, 번역 했을때는 "애플로 로그인"으로 수정 2. 애플 규정 상 SNS 로그인 시 닉네임(이름)이 자동으로 올라가는데 왜 한번 더 닉네임을 요구하냐 라고 판단해서, 두번째 페이지는 삭제하였습니다. 3. 포인트 구매 방법을 적어 애플에 이메일로 첨부 하였습니다. 결과 앱 심사 통과하였습니다. 여기서 멈추지 않고 더욱 더 완벽하고 유용한 ..

Swift 2023.02.11

우당탕탕 팀 프로젝트 앱출시

사용한 기술 1) 프레임 워크 - SwiftUI - Firebase - CoreData - GoogleSignIn, KakaoSDKAuth, CryptoKit 2) 오픈 소스 - swiftLint 개발 기간 - 1월 17일 ~ 2월 17일 ( 30일 소요 ) 맡은 역할 - 기획, 디자인, 개발 회고 및 느낀점 앱을 기획하는 과정에 있어 원하는 기능들이 많았지만 막상 개발에 들어가보니 볼륨이 너무 커져 있다는 것을 깨달았다... 기간안에 모든 것을 해치우기에는 벅차다는 것을 느꼈고, 일단 애자일 방식으로 진행하기로 했다. 개발보다는 팀원들과의 커뮤니케이션을 많이 하여 뒤쳐지는 인원 없이 모두 함께하는 앱을 만들수 있어 너무 재밌고, 행복했다. ( 사실은 내가 제일 질문을 많이했다... ) 어려움에 부딪히다..

Swift 2023.02.09