전체 글 썸네일형 리스트형 [iOS] About StateObject, ObservedObject 이번 글에서도 좀 헷갈리는 친구들에 대해 정리해볼까 합니다.우리가 SwiftUI에서 MVVM구조로 코드를 짤 때, ViewModel 설정시, ObservableObject를 채택해줍니다.그다음, View에서 viewmodel이라는 인스턴스를 생성할 때, @ObservedObject 혹은 @StateObject를 붙여주어, viewmode이라는 개체내의 @Published로 선언된 프러퍼티가 변경되면 자동으로 UI를 업데이트 시켜줍니다. 그렇다면 차이점은...? 우선 눈으로 보는게 이해하는게 빠르기때문에..!@ObservedObject우선 @ObservedObjct 부터 확인해보면 상위뷰 변화 > 하위뷰 변화 > 상위뷰 변화 순서대로 변화를 주게 되면마지막 상위뷰 변화 때, 하위뷰의 값이 초기화 되는것.. 더보기 [iOS] About ObservedResults, ObservedRealmObject 이번 게시글에서는 제목처럼 ObservedResults, ObservedRealmObject에 대해 공부한 것을 주저리 주저리 풀어보려고 합니다. SwiftUI와 Realm을 활용하여 출시앱을 만드려고 하다보니 이 두 property wrapper에대해 알아야만 했는데요..!ObservedResults쉽게 이야기하면 복수객체에 대해 접근하여 정보를 핸들링할 때, 이 프로퍼티를 사용하면 됩니다...?복수객체...?램스튜디오에 들어갔을 때 하나의 클래스명 안에 구성되어있는 요소들이 하나씩 있을텐데요, 이 요소전부 다를 가져올 때 ObservedResults라는 프로퍼티래퍼를 사용합니다.다시말해, Realm 객체 모음을 관찰하는 것이고, 더 쉽게 생각하면 저기 보이는 모든 행을 다 가져와서 쓸거야~ 라는 거.. 더보기 [개인 프로젝트] Share.D 회고 ⭐️ 프로젝트 소개👉 선물을 고민하는 사용자들에게 다양한 추천 카테고리 제공👉 선물에 대해 다른 사용자들과 의견을 교환할 수 있는 커뮤니티 기능👉 결제까지 지원해 사용자의 선물 선택 과정에서 발생하는 고민과 불편함 최소화 개발 기간: 2024.08.14 ~ 2024.09.01 (약 2주) ⭐️ 기획 단계 🤔 주제 선정개인 프로젝트를 진행할 때, 제 생활과 밀접하게 연결된 주제를 선택해 실생활에 유용한 방향으로 기획하고자 했습니다.특히, 선물을 고르는 일이 늘 어려웠던 저는 매년 기념일마다 같은 고민을 반복해왔습니다.이러한 고민을 덜어주는 동시에, 비슷한 고민을 가진 사람들끼리 소통할 수 있는 기회를 제공하면 좋겠다는 생각에서 이 주제를 선택하게 되었습니다. 📏 공수 산정工數(공수): 일정한.. 더보기 [iOS] About state, binding 이번 게시글에선 SwiftUI에서 사용하는 state와 binding에 대해 알아보려합니다 SwiftUI를 사용하려면 필연적으로 만날 수밖에 없을텐데요! State- 뷰의 로컬 상태를 관리하는 속성- 뷰 내부에서 변수의 상태 변화를 관리할 때 사용- 변수 변경 시, 뷰를 다시 렌더링- 뷰가 소멸되면 state 변수도 함께 사라짐- 해당뷰에서만 직접 접근 가능- 현재 뷰에 대한 UI 특정 상태를 저장하기 위해 만들어졌기에 private 사용 Binding- 다른뷰에서 @state로 선언된 속성을 다른 뷰에서 사용할 때 사용- $를 사용하여 binding으로 선언된 변수임을 나타냄- 외부에서 접근해야하므로 private X 다음은 예시 코드입니다.struct CountView: View { @Stat.. 더보기 [iOS] About Hot & Cold Observable 이번에 들고온 친구는 바로 Hot Observable 과 Cold Observable 입니다. 처음에 이 개념을 만났을 때 정말 와닿지 않았는데 예시로 한 번 이 친구들을 풀어볼까 합니다. Hot Observable우선 Hot Observable 의 경우는 우리가 축구를 TV 생방송을 본다고 생각하시면 됩니다. 우리가 TV를 켰을 때, 축구경기가 65분이 지나고 있다고 한다면..우리는 다시 0분 ~ 65분까지의 축구경기를 볼 수 있을까요? 또, 우리가 앞으로 받게 될 정보는 뭘까요?? 첫번째 질문에 대한 답변부터 하자면, NO 입니다. 우리는 이미 지나간 이벤트들에 대해서는 어떠한 정보도 얻을 수 없어요.축구 경기는 우리가 보건 말건 진행되니까요!!다만 우리가 TV를 틀게 되면 그 이후의 정보들에 .. 더보기 [iOS] About Calendar 이번 게시글에서는 날짜와 관련된 속성들을 알아보려고 합니다~왜와이?!?! 곧 있을 플젝에 쓰려구요~ 자 우선 Calendar부터 갑니다Calendarlet currentDate = Date() // 현재 날짜// 현재 지역 및 설정에 맞는 달력let calendar = Calendar.current// 현재 날짜에서 연도, 월, 일 추출let year = calendar.component(.year, from: currentDate)let month = calendar.component(.month, from: currentDate)let day = calendar.component(.day, from: currentDate)print("Year: \(year), Month: \(month), Day: .. 더보기 [iOS] About GCD (Grand Central Dispatch) 드디어 무섭기도 하고, 어렵기도 해서.... 미루고 미뤄왔던.. GCD 차례입니다. GCD?제가 이해한 순서대로 글을 좀 적어볼게요 1. 우선 GCD란 멀티 스레드 환경에서 편리하게 개발할 수 있도록 해주는 기술 (설명이 부족해..)2. 이 말이 무슨 말이냐면, 해야할 일이 많아진 경우에 알아서 일을 분배해주고, 일할 쓰레드가 부족하면 알아서 늘려주는 기술3. 기본적으로 작업은 메인 스레드에만 할당되어 있는데, 메인스레드도 일을 하고 다른 스레드들 역시 일을 하도록 만듦. (동시성 프로그래밍) > 비동기 작업4. 개발자는 QUEUE라는 곳에 어떤 작업을 진행할지 코드를 넣어주기만 하면 되고, 일의 분배나 스레드 관리는 신경쓰지 않아도 됨. 저는 위 순서대로 GCD 개념을 익혔는데요, 음 확실히 1단계에서.. 더보기 [iOS] About Pagination 이번 글에서는 Pagination에 대해 글을 적어보려 합니다. Pagination?페이지네이션을 사용하면 데이터를 불러올 때, 전체 데이터를 받는 것이 아니라 지정된 개수의 데이터만 전달받게 됩니다.우리가 쇼핑몰에 가방을 검색했는데, 검색 결과 10만개라면?한 번에 받아보는 것보단 20개씩 잘라서 보는 것이 사용자도 좋고, 네트워크 과호출도 줄여볼 수 있을겁니다. 이 페이지네이션에는 커서, 오프셋을 기반으로 한 총 두 가지의 페이지네이션이 있습니다. 그럼 하나씩 살펴보겠습니다..!! Cursor-based Pagination여기서 Cursor란 마지막으로 조회한 항목의 고유한 값입니다. 다음 데이터 배치가 시작되어야하는 위치를 나타내는 것이죠.무엇을 기준으로 이 값을 정해질지는 API마다 다르기에 문.. 더보기 이전 1 ··· 3 4 5 6 7 8 다음 목록 더보기