Archive/가족 메신저(project-ios) 13

[README.md] HappyHouse 🧸

🧸 Project - 멀리 떨어져있는 가족들의 심리적 거리를 좁힐 수 있게 도와주는 서비스 - release : 해커톤 이후 현재 앱 출시를 목표로 준비 중 - 깃허브 : https://github.com/DoGood-Hackathon-2/HappyHouse - 해커톤 기간 : 2021.08.13~15 - 팀 구성 - 디자이너 1, 기획자 1, iOS 개발자 2, 백엔드 2 - https://rldd.tistory.com/180?category=988381 2021 두굿해커톤 후기(feat.우수상)🎊 ✅ SNS로 두굿 해커톤 개최 소식을 알게 되어 08.13 ~ 08.15까지 함께 iOS RxSwift 스터디를 하는 개발자분과 DO GOOD HACKATHON에 참여하게 되었습니다. 이번이 첫 해커톤 참여..

[RxSwfit] 테이블 뷰 안에 버튼이 반응하지 않을 때

✅ 이번 시간에는 TableView안에 UIButton이 반응하지 않을 때를 알아보자. 저기 보이는 수정하기와 챌린지 시작이 UIButton이다. IBAction으로 연결하니까 잘 되는데, rx를 사용하니까 안되는 문제 발견 아래의 코드를 보면 쉽게 문제 해결을 방법을 이해할 수 있다. // 처음에 작성한 코드 -> 반응 없음 REditButton.rx.tap .subscribe { self.REditButton.tintColor = .blue self.REditButton.setTitle(" 도전중... ", for: .normal) } // 두번째로 작성한 코드 -> 여전히 반응 없음 REditButton.rx.controlEvent(.allTouchEvents) .subscribe { self.RE..

[Swift] String에서 마지막 글자 삭제하기

[Swift] String에서 마지막 글자 삭제하기 time = "오전 05시 34분"var arr = time.components(separatedBy: " ") arr[1] = String(arr[1].dropLast()) // 00 "시" 삭제arr[2] = String(arr[2].dropLast())// 00 "분" 삭제print(arr)// return arr = ["오전","05","34"] 이런 식으로 마지막 글자를 지울 수 있음. 🟠 응용 🟠dropLast의 파라미터로 숫자를 주게되면 뒤에서 원하는 만큼 문자를 없앨 수 있다.❗️주의❗️문자열의 길이보다 더 많이 지울 수 있으니, 그 점을 항상 생각하자

[RxSwift] TextView 🆚 TextField

✅ 이번 시간에는 TextView와 TextField에 대해서 비교해볼 예정이야 아래의 이미지를 우선 보자. 맨 위에는 텍스트 필드 아래에는 텍스트 뷰를 활용하여 작성하였다. ✅ 둘의 대표적인 차이를 우선 ㅏㅇㄹ아보자. 🆚 TextField TextView placeholder가 있는가? O X 여러줄로 작성할 수 있는가? X O ✅ 그러면 아번에는 rx를 사용할때는 어떤 차이가 있을까? 🟠 내가 프로젝트에서 사용한 코드. 쉽게 말해서 TextView를 입력하기 시작했을 때, rx를 통해서 어떻게 처리하는지를 볼 수 있었다. RequestTextView.rx.didBeginEditing .bind{ _ in if self.RequestTextView.text == "간단한 메시지를 적어보세요~!" { s..

[RxSwift] button isSelected scan으로 토글처럼 사용하기

(init) 2021. 9. 8. 16:09 (update) 2022. 6. 8 13:23 - 이 당시에는 Realy에 대한 이해가 부족해서 Scan으로 처리했었는데, Relay로 만든 것을 구독하면 이전 값을 보유하고 있어서 Scan을 굳이 사용하지 않아도 됩니다. 해당 정보는 Yapp 면접 당시 면접관님이 주셨는데, 불현듯 떠올라서 적어둡니다. 혹시라도 보신다면 Relay 사용하세요 (update) 2022. 06. 27. 13:14 - 당시에는 코딩 컨벤션을 몰라서 변수명이 엉망진창이네요 ... - 스타일쉐어 swfit 코드 컨벤션을 찾아봐주세요. 이거 막장입니ㅏㄷ. .. 하.. 그냥 이런 것도 있구나 하면 될 거 ㅅ ㅆ같ㅌ습ㄴ니ㅣ다.. ✅ 이번 시간에는 RxSwift를 이용하여 버튼 상태 변화를 ..

[RxSwift] Reentrancy anomaly was detected. Error 대응

[RxSwift] Reentrancy anomaly was detected. Error 대응   ✅ 연관 포스팅2021.09.04 - [분류 전체보기] - [RxSwift] Textfield maxLength [RxSwift] Textfield maxLength✅ 이번 시간에는 rx를 이용하여 텍스트 필드의 최대 글자 길이를 정하는 방법에 대해서 알아볼 예정이야. 저기 보면 년,월,일의 경우에는 글자 길이를 제한할 필요가 있어. 예를 들면, 년도의 경rldd.tistory.com ✅ 발생한 에러의 Text ⚠️ Reentrancy anomaly was detected.  > Debugging: To debug this issue you can set a breakpoint in /Users/hamlitj..

[RxSwift] Textfield maxLength

✅ 이번 시간에는 rx를 이용하여 텍스트 필드의 최대 글자 길이를 정하는 방법에 대해서 알아볼 예정이야. 저기 보면 년,월,일의 경우에는 글자 길이를 제한할 필요가 있어. 예를 들면, 년도의 경우 아주 상식적인 범위에서 4글자라던가, 월,일,시,분은 최대 2글자 까지만 가질 수 있지. 그럼 이걸 어떻게 제한할 수 있을까? rx를 이용하여! ✅ 글자 길이를 제한하는 방법 1️⃣ 글자 길이를 제한하는 함수를 작성한다. private func HourTextField2(_ str : String) { // 시간 최대 2자리까지 if str.count > 2 { let index = str.index(str.startIndex, offsetBy: 2) self.HourTextField.text = String(..

[iOS] Tableview Cell 사이의 간격주기

[iOS] Tableview Cell 사이의 간격주기 (초기 작성일) 2021.08.21(1차 업데이트) 2024.08.31 - 간격 주는걸 추천하지 않는 이유   override func layoutSubviews() { // 테이블 뷰 셀 사이의 간격 super.layoutSubviews() contentView.frame = contentView.frame.inset(by: UIEdgeInsets(top: 0, left: 0, bottom: 12, right: 0)) }  저 부분이 테이블 뷰에서 셀 간의 간격을 준 모습이다. 간격 주는걸 추천하지 않는 이유이렇게 하면 서로 다른 셀이 하나의 테이블 뷰에 들어가는 경우 패드 및 폰 UI 대응이 매우 어..

[iOS] TableView, CollectionView lastIndex 찾기

✅ 이번 시간에는 마지막 인덱스를 찾는 방법에 대해서 알아볼 예정이야. 우선 아래의 이미지를 보자 위처럼 구현을 해야하는 일이 생겼는데, 나는 컬렉션 뷰를 이용해서 구현했어. 그러나 마지막 index의 경우에는 위에 이미지를 보면 다르게 처리해야하는데, 마지막 인덱스를 구할 필요성을 느꼈어. ✅ 컬렉션 뷰에서 마지막 인덱스를 참조하는 코드 extension UICollectionView { // 마지막 인덱스 찾는 함수 구현하여 collectionView쪽에 넣어둠 Util로 나중에 빼기 func lastIndexpath() -> IndexPath { let section = max(numberOfSections - 1, 0) let row = max(numberOfItems(inSection: sect..

[iOS] StackView 사이에서 간격을 주는법

✅ 이번 시간에는 스택뷰 사이에서 간격을 주는 방법에 대해서 알아볼 예정이야. 스택뷰를 활용하기 위해서는 저기서 하나씩 해보자. Alignment와 Distribution을 활용하면 ok ✅ 실제 개발에서 스택뷰 때문에 고민했던 것 🟠 텍스트필드의 입력값이 주어지지 않은 상황에서 어떻게 처리해야 할까요? 위에 보이는 이미지를 구현해야 하는데 스택뷰를 사용해서 구현시 발견한 문제점이 스택뷰 - 텍스트필드(시) - 레이블(콜론) - 텍스트필드(분) 이런식으로 넣었는데, 처음에는 텍스트 필드의 입력값이 주어지지 않아서(텍스트 필드의 길이가 0이라는 말) UI가 초기에 배치될 때 레이블이분을 담당하는 텍스트 필드가 나머지 모든 영역을 억지로 채우는 것을 확인할 수 있었다. 무슨 말이냐면, 스택뷰의 길이를 10이..