공부기록

ViewBuilder (HStack, Button, Label 등….) 내부에서 guard 사용했을 때 발생하는 오류 근데 또 if let 을 사용하면 해결되는… 일단 제가 해석하기로는... guard를 사용하면 return 키워드를 사용해야 하는데, ViewBuilder는 컨트롤 흐름 문이 포함된 클로저 표현식을 함께 사용할 수 없다.. 요런 말 그래서 찾아본 H/VStack의 init과 ViewBuilder.. HStack은 ViewBuiler를 파라미터로 갖고, 우리는 H/VStack의 클로져 안에 View를 넣어서 쌓아서 뷰를 구성하고 있다.. 예를 들면 이렇게.. ? ViewBuilder가 무엇이냐를 더 찾아보니.. ViewBuilder 함수 또는 프로퍼티의 파라미터로 사용됨 if, for sw..
동기 비동기에 많이 나오는 에러 핸들링! 처음 봤을 때 멘붕 왔던 에러 핸들링..! 말이 너무 비슷비슷해서 헷갈리는 에러 핸들링에 대한 정리를 블로그에도 올려봅니다.. 에러 핸들링은 말 그대로 에러를 다루는 거겠죠? Error Handling 에러 핸들링(처리)의 순서가 있어요! 제가 보기에는.. 내가 만든 함수에서(?) 발생할 수 있는 에러 형식 선언 (enum을 통해서 정의) 에러 정의(선언한 에러가 어떤 경우에 발생하는 에러인지 정의) 에러 발생시 어떻게 할 것인지 정의 그러면 정말로.. 이게 뭔데? 싶으니까 에러를 던지고 받고를 해봅시다. 그럼 어떻게 던지는데? 넹.. throw(s)를 통해서 던집니다. Error Throw(s) throw : 에러를 던지는 키워드(에러가 발생했을 때만 호출됨!!..
모공모공 스터디에서 카카오톡 채팅 목록 화면 구현했던것을 정리해보려고 해용 먼저 완성 화면은 이렇습니다.. 빠르게 정리해볼게요! UIKit의 tableView와 동일한? 역할인 SwiftUI의 List를 활용해서 만들었어요. 먼저 채팅방에 대한 데이터는 하드코딩으로 넣어놓고 시작했습니다! 리스트에 대한 코드에요. 뭐가.. 되게 많고 지저분한데 (정리를 못했음요..) 일단 차근차근 보자면,,, Image("\(sortChatListByDate()[data].imageName)") .resizable() .frame(width: 60, height: 60) .clipShape(Circle()) .font(.system(size: 32)) .padding(.trailing, 10) ForEach로 데이터를 가..
SwiftUI는 데이터 주도 방식으로 개발하고 게시자/구독자를 구축해서 데이터를 주고 받죵 4가지의 객체로 사용자 인터페이스의 모양과 동작을 결정하는 상태를 제공하는데 여개서 4가지가 @State, @Binding, @environmnet, @Observable 이렇게 있습니다. 그중에서 오늘은 묵혀놓았던 @State, @Binding에 대해 빠르고 간단하게 정리해볼게요. @Obersvable이랑 @Environmnet는 다음 게시물로... !! 1. @state ( = 상태 프로퍼티) 값의 변화를 감지해서 값이 변하면 뷰를 다시 그려주는 프로터티 입니당(뷰에 적용시켜줌) 상태프로퍼티는 상태에 대한 가장 기본적인 형태이며, 현태 뷰의 상태를 저장하기 위해서만 사용해요! 토글 버튼 활성화 유무 텍스트 필드..
제네릭 특정 형식과 연관되지 않은 함수를 구현하는 방법 func name(parameters) -> Type { code } : 타입 파라미터, 함수 내부터에 타입 파라미터나 리턴형으로 활용됨 (다른 이름을 사용해도 됨) 형식에 관계없이 모든 값을 파라미터로 전달할 수 있음 // Generics func swapValue(left: inout T, right: inout T) { let tmp = left left = right right = tmp } var a = 1 var b = 10 swapValue(left: &a, right: &b) print(a, b) // 10, 1 var c = 4.5 var d = 6.8 swapValue(left: &c, right: &d) 제네릭에 제한주기 제네릭 ..
스터디에서 유킷, 스유 퐁당퐁당 스터디를 하는데 저번에 스유로 로그인 화면을 했으니 이번에는 유킷으로 구현해보자!라고 해서 구현해본 화면입니당 아직은 정말 화면과 기능(?)만 구현했기 때문에.. 다음페이지로 넘어가는 그런거 업슴요.. (전체 코드는 맨 밑에 있어요!!) 구현 조건은 스유와 동일했어요! 이메일 텍스트 필드는 이메일 키보드가 나오도록 설정 비밀번호 텍스트 필드는 암호화 되어서 보이도록 설정 이메일, 비밀번호 텍스트 필드에 값이 있고, 토글이 활성화 되어야 버튼도 활성화 되도록 설정 이번에는 스토리보드 베이스로 구현해 놓았습니다! 레이아웃은 대충 요로케 저번 스유와 비슷한 모양으로 잡았어요. 저번 스유때랑은 다르게 추가한 로직이 있었는데.. 일단 아이디와 비밀번호가 10글자 미만이면 잘못된 입..
서연(linda)
'분류 전체보기' 카테고리의 글 목록 (10 Page)