[SeSAC] October 24, 2023

✔︎ 오늘의 정리

  • 앱 아이콘 크기 맹글어주는 사이트
  • 이번달의 처음과 끝 Date로 구하기
  • Error: 어쩌고 CoreGraphicsAPI
  • 년도와 월 표시하기

앱 아이콘 크기 만들어주는 사이트

https://www.appicon.co/#app-icon

 

App Icon Generator

 

www.appicon.co

 

 

 

 

 

이번달의 처음과 끝 Date로 구하기

 

extension Date {
    
    // 이번 달 첫날
    var startDateOfMonth: Date {
        guard let date = Calendar.current.date(from: Calendar.current.dateComponents([.year, .month], from: self)) else {
            fatalError("Unable to get start date from date")
        }
        return date
    }

	// 이번 달 마지막 날
    var endDateOfMonth: Date {
        guard let date = Calendar.current.date(byAdding: DateComponents(month: 1, day: -1), to: self.startDateOfMonth) else {
            fatalError("Unable to get end date from date")
        }
        return date
    }

	// 오늘 하루의 시작 시간
    var startOfTheDate: Date {
        return Calendar.current.startOfDay(for: self)
    }
    
   	// 낼 하루 시작 시간
    var nextDayOfTheDate: Date {
        return Calendar.current.date(byAdding: .day, value: 1, to: startOfTheDate)!
    }
}

마지막 변수 두 개는 날짜 비교할 때 someDate.startOfTheDate 이런 식으로 쓰면 좋길래 같이 넣어봤다 ^_^

 

 

 

 

 

 

 

 

Error: 어쩌고 CoreGraphicsAPI

<Error>: Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API. This is a serious error and contributes to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

다양한 원인이 있을 수 있겠지만, 나 같은 경우에는 collectionView나 tableView의 frame을 너무 .zero로 잡아줘서 이 오류가 생겼다.

임의로 프레임을 잡아주어 해결~~~!!!!!!

 

 

참고한 글

https://stackoverflow.com/questions/19187344/how-to-detect-where-nan-is-passing-to-coregraphics-api-on-mac-os-x-10-9

 

How to detect where NaN is passing to CoreGraphics API on Mac OS X 10.9

I have very large graphic Mac app and now I receive a lot of the following messages in Console on 10.9 GM. <Error>: Error: this application, or a library it uses, has passed an invalid numeric

stackoverflow.com

 

 

 

 

 

 

전에 아래 글과 같은 오류도 떴는데? 이상하게 프레임 크기를 하나 주니까 같이 없어졌다. 왜인지는 잘 모르겠음....

 

https://stackoverflow.com/questions/31872650/how-can-i-set-cg-context-show-backtrace-environmental-variable

 

How can I set CG_CONTEXT_SHOW_BACKTRACE environmental variable?

I have three buttons in my view. After setting the cornerRadus in the viewDidLoad() : button.layer.cornerRadius = 20 I get the following error message in the log: <Error>: CGContextSaveGSta...

stackoverflow.com

 

 

 

년도와 월 표시하기

extension Date {
    func toCalendarTitle() -> String {
        let formatter = DateFormatter()
        if Locale.current == Locale(identifier: "ko_KR") {
            formatter.dateFormat = "yyyy년 MM월"
            return formatter.string(from: self)
        } else {
            formatter.dateFormat = "MMMM d, yyyy"
            return formatter.string(from: self)
        }
    }
}

:3

 

 

Date의 extension에 함수를 하나 만들어 분기처리를 통해 지역에 따라 년도와 월을 표시해 주었다.

localization을 다양하게 적용할 수 있지만 일단 영어와 한글만 대응하기로 했다....

아무래도 캘린더와 날짜를 사용하니까 dateFormatter를 정말 많이 사용하게 된 것 같다

이번에 많이 배웠음 ,, ^___^

 

 

blob

 

https://ownstory.tistory.com/21

 

[iOS] 날짜 표현 형식표 (Date Field Symbol Table)

"NSDateFormatter"를 통해 표현할 수 있는 날짜 형식입니다. 심볼의 대소문자 구분에 주의해야 합니다. *1)은 "ko-KR" locale 설정 결과입니다. 필드 심볼 결과1) 결과 내용 시대 (Era) G 서기 AD 기원전/후(서

ownstory.tistory.com

 

가끔 보는 블로그 링크도 남겨 놓는다.

맨날 검색해서 드가는데 이렇게 올려놓으면 내 블로그로 들어가지 않을까?! ㅋ.ㅋ

 

 

date에서 시간을 처리하는 게 참 까다롭다고 생각했는데 막상 포맷만 잘 맞춰 주면 크게 어려울 게 없었다.

아니 이거 잘했는데 왜 안 되지?! 하면 대부분 날짜까지는 맞는데 시간대가 안 맞아서 원하는 결과가 나오지 않는 경우가 많았다.

자주 삽질했으니 담부터는 덜... 하겠지? (제발)

 

슬슬 프로젝트 회고로 뭘 넣을지에 대해서 생각해 보고 있는데 뭔가 지금 딱 생각나는 건 다음과 같다.

  • MVVM을 초반부터 사용하지 않은 것
    • 일단 구현하고 추후 추가하자!! 라고 생각했는데 그냥 초반에 조금 깔짝이더라도 시도했으면 좋지 않았을까? 하는 생각이 ... 스멀스멀 든다. 왠지 지금 MVVM을 하고 있어서 더 그런듯?
  • 기획의 중요성에 대해서 깨달았다.
    • 초반에 기획을 열심히 했다고 생각했는데 ... ... ㅠ,ㅠ 디자인이 정말 중요하더라!!!! 조금 더 디테일하게 어떤 걸 할지? 를 정하고 갔으면 더 좋았을 거라고 생각한다. 아무튼. 자세한 건 나중에 더 적고....
  • 오픈소스 라이브러리를 어떻게 사용하면 될지 깨달은듯?!
    • 여러 라이브러리를 사용하다 보니 뭔가 활용법이 조금 늘었다고 해야 할지 ... ... ㅎ,ㅎ 관련해서 몬가 써야겠음
  • 구현에 급급해 포기했던 것들...
    • ... ... 수많은 기록들....... (원래는 12개가 목표였는데 7개가 됐다.)
      • 구토 기록의 경우에는 안에 세부적으로도 추가하고 싶었는데 못했다.
    • 알람 및 할일 기능......
    • 아이 프로필에서 클릭했을 때 아이의 상세 기록이 나오는 것............
    • 모아보기에서의 디테일 페이지......
    • 뷰를 나눠야겠다는 생각은 했지만 일단 그냥 만들었던 것... (보기너무너무너무너무힘들다 ㅠ_ㅠ)
    • 각각 뷰에서 구현하고 싶었던 건 대부분 구현했던 것 같다. 포기할 건 포기하고 할 건 한 느낌...
    • 아................... ㅠ.ㅠ 마지막에 급해서 지도 API를 활용하여 병원 이름 검색을 하여 textField에 추가해 주는 로직을 추가하고 싶었는데 못했다... 이 부분은 꼭 추가할 거임 추후에!!
    • 간식도 사용자가 커스터마이징해서 등록하는 로직을 넣고 싶었는데 못했음...
      • 나는 사료가 별로 안 중요하다고 생각해서 안 넣었는데 보니까 멍냥 집사들은 애기 몸무게에 따라서 사료양을 다르게 줘야 하다 보니 그런 걸 계산하는? 용도로도 앱을 많이 사용하나부다. 나중에 멍냥 한정 추가하면 좋을것... 같았는데!!!!!! 먼미래에~
    • 맞다.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ.ᐟ Realm do-catch문으로 에러를 던져놓고 프린트문으로 보내기만 했지 잡지는 않았다. 이건 앱 출시 전에 수정해야겠다. :3
    • 지금........................................ LargeTitle이 접히지 않는 오류가 발생한다. 대체왜? 라고는하지만 사실 이유는 알고잇다...... 일단 scrollView로 수정해서 내는 게 목표인데? 일단 내고 수정할 수도...... ^__^

 

에구궁 낼두 할 거 많다

얼렁 자야함~~~~~!!!!!

 

'TIL' 카테고리의 다른 글

[SeSAC] November 6, 2023  (0) 2023.11.06
[SeSAC] November 1, 2023  (2) 2023.11.01
[SeSAC] October 19, 2023  (3) 2023.10.19
[SeSAC] October 15, 2023  (2) 2023.10.16
[SeSAC] October 12, 2023  (1) 2023.10.13