본문 바로가기
반응형

공부/Apple76

[Swift] Calendar와 DateFormatter의 관계 이번글은 그냥 푸념, 잡념, 뭔가의 깨달음, 그냥 뻘소리일수도 있습니다. 최근에 인턴을 하면서 커스텀 캘린더를 만들 기회가 있었습니다. 뭐랄까 그냥 처음에는 글을 읽기보단 그냥 긁어와서 붙여넣기 바빴는데요,(개발자는 복붙만 잘하면 된대요!)하다 보니까 뭔가 잘 안되기도 하고 욕심이 생기기도 해서 다시 좀 찾아보고 있습니다.하여 최근에 든 생각을 찌끄린 글입니다. 1. 개인적인 생각Calendar 객체는 date, dateComponent 등으로 반환을 합니다.그래서 제가 느끼기엔 주로 뭔가 실제로 값을 사용해야 하는? 뭔가 실존하는 값이 나오는?뭐라고 해야 될까요... 아마 DateFormatter 얘기를 들어보시면 느낌이 오시지 않을까그냥 뭔가 실제로 데이터를 사용할 때에 Calendar를 쓰는 게 맞.. 2025. 3. 3.
[Swift] 초미세팁 - ForEach의 redraw 이번에 코드 작성하다 알게 됐는데요,SwiftUI에서 여러분들이 일반적으로 foreach를 쓸 때 아래와 같이 쓸 거 같은데요,ForEach(0.. 이번에 새로 알게 된 점은 여기서 id가 없으면 SwiftUI 내부적으로 식별자를 자동으로 추론한다고 합니다.여기까진 별 문제없죠? 근데 여기서 문제가 만약 numbers가 항상 변동성이 있는, 뭔가 값도 복잡하고 코드도 복잡해지고 그렇게 되면?정상적으로 id를 추론하지 못하게 됩니다. numbers가 변경되어도 안에 생성될 셀들이 제대로 그려지지가 않더라고요.데이터를 뽑아보면 정상적으로 값은 변동되고 있지만 제대로 반영되지 않아 그대로인 것처럼 보이더라고요?제 경우엔 부족했었습니다. 하여 위의 두 가지 중 아래의 예시처럼 id를 명시적으로 적어주면 정확하게.. 2025. 2. 17.
[Swift] xcconfig, gitignore 파일 만들고 안전하게 적용하기 이번에는 xcconfig과 gitignore를 만들어서 API키나 API url등을 안전하게 적용하는 방법을 알아봅시다. 1. gitignore 파일 생성우선 git이 적용된 폴더의 최상단에 .gitingnore파일을 생성해줍시다.내부에 어디에나 상관없이 아래와 같이 한줄을 추가해줍시다.(저는 xcode와 관련된 것들이 적혀있는 부분에 적어줬습니다.)**/*.xcconfig`**/`은 모든 디렉토리를 의미하고요,*.xcconfig는 모든 xcconfig파일을 의미합니다. 1-1. 깃 캐시 삭제하기만약 기존에 이미 추적되고있는 xcconfig 파일이 있었다면, gitignore를 수정해도 계속 파일이 추적될껍니다.따라서 git 캐시를 제거해줘야하는데요, 아래와 같이 입력하면 됩니다.git rm --cach.. 2024. 12. 22.
[Swift] Date는 타임존이 적용되지 않는다. 이번 글은 그... 뭐... 별 내용은 아니구요,, 별 내용 맞아요...(진짜 항상 이해안되서 넘어갔던걸 이번에 아주 꽉 붙잡고 안놔줄라고 아주 그냥 별짓을 다했는데 예... 뭐... 그랬다구요......) 제목 그대로에요...Date객체는 타임존이 적용되지 않아요.우리가 흔히 DateFormatter를 지정해줄 때 timezone도 적용하는 경우가 있어요.//어쩌구 저쩌구 코드들dateFormatter.timezone = TimeZone(identifier: "Asia/Seoul")//저쩌구 어쩌구 코드들 알고보니까 이게 string으로 뽑아낼때만 의미가 있는거더라구요.공식문서에 아래와 같이 정의가 되어있죠? 그렇다네요...달력(그레고리력, 율리우스력등)이나 타임존("Asia/Seoul", "Ameri.. 2024. 12. 10.
[Swift] Codingkey에 모든 키가 있어야 할까? 얼마전에 네트워크 통신과 관련된 공부를 하면서 친구가 아래처럼 코드를 쓰더군요struct Weather: Codable { let id: String let temp: Double let humanFeel: Double enum CodingKeys: String, Codingkey { case id, temp case humanFeel = human_feel }} 그래서 갑자기 든 궁금증이 "id와 temp는 코딩키에 없어도 그냥 디코딩 되는거 아닌가?"그렇게 찾아본 결과 코딩키를 하나라도 쓰게되면 모든 키가 있어야 한다가 정답이었습니다.정확히는 코딩키를 쓸 때 기존의 구조체에 쓴 내용이 코딩키에서 빠져도 상관없지만만약 빠지게 된다면 디코딩에서 제외된다.. 2024. 12. 2.
[Swift] Xcode AI코드 에러(긴급) 저는 xcode상에 Predictive Code Completion Model를 켜놓은 상태로 사용하고 있었는데요,(이거 켜놓으면 코드 예측도 해주고, 코드 추천도 해주고, 무엇보다 작명의 고통으로 부터 해방 될 수 있어요...)공부용으로 테스트 코드 확인하고 있었는데 Predictive Code Completion Model을 켜놓은 채로var todoCompo = URLComponents()를 선언한 뒤 바로 다음줄에todocompo 까지 입력하면 무조건적으로 xcode가 비정상적으로 종료됩니다. 아래와 같이 입력하면 종료됩니다.var todoCompo = URLComponents()todocompo복붙으로 바로 넣는건 상관없지만 직접 입력하면(심지어 마지막 o만 지웠다 넣어도) 바로 튕깁니다. Se.. 2024. 11. 22.
반응형