본문 바로가기
반응형

전체 글53

[iOS] 컬렉션뷰와 테이블뷰의 수동 클릭 설정 방법 및 주의사항 테이블뷰나 컬렉션뷰에서 사용자의 터치 이벤트로 셀이 클릭이 되면 델리게이트 함수인 didSelectRowAt 실행됩니다. 또한, 셀 내부의 override 변수인 isSelected 값을 변경됩니다. isSelected에 didSet을 설정하거나 didSelectRowAt 함수 내부에서 셀이 클릭되었을 때의 로직을 실행할 수 있는데요, 예를 들어, 클릭된 셀은 배경색을 바꿔준다 한다거나 등의 행동을 취할 수 있습니다. 하지만 사용자의 터치 이벤트가 없더라도 셀이 클릭된 상태로 표현해야 할 상황이 있습니다. 이때, 프로그래밍으로 처리할 수 있는데요, selectItem이라는 함수를 이용하며 됩니다. 주의할점으로는 selectItem을 실행하면 셀 클래스의 override 변수인 isSelected의 상태는.. 2023. 4. 14.
[Swift] Caputre List 관련 사이트 정리 캡처리스트 관련 공부 시 도움 되었던 사이틀를 정리해봤습니다. https://babbab2.tistory.com/83 Swift) 클로저(Closure) 정복하기(3/3) - 클로저와 ARC 안녕하세요 :) 소들입니다! 이번 포스팅은 클로저 정복하기 마지막 편!!! 메모리나 ARC에 대한 사전 지식이 없으면 조금 이해하기 어려울 수 있으니, 메모리 관련 포스팅을 먼저 보고 오심을 추천 babbab2.tistory.com https://velog.io/@kimdo2297/%ED%81%B4%EB%A1%9C%EC%A0%B8-%EC%BA%A1%EC%B3%90%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-about-closure-capture 클로저 캡쳐에 대해서 (about closure .. 2023. 2. 28.
[Swift] NSAttributedString vs NSMutableAttributedString NSAttributedString: 텍스트 자체에 스타일을 설정할 수 있는 텍스트 타입 NSMutableAttributedString: NSAttributedString의 특정 범위에 다양한 스타일(색상,자간, 행간 등)을 설정할 수 있는 텍스트 타입 (*NSAttributedString 을 사용할 때와 똑같지만 특정 범위에 적용할 추가 attribute 생성 필요) 2023. 2. 28.
[iOS] APNs와 FCM 등록 과정 등록 앱에서 UIApplication.shared.registerForRemoteNotifications()를 통해 Device token 등록을 APNs에 요청 APNs에서 Device token이 등록되면 AppDelegate의 didRegisterForRemoteNotificationsWithDeviceToken()을 통해 APNs token을 얻음 APNs token을 Provider Server(FCM)에도 전달 Messaging.messaging().setAPNSToken() MessagingDelegate의 messaging(:didReceiveRegistrationToken)을 통해 FCM token을 얻음 발송 Provider Server(FCM)에서 사용자에게 push를 보내기 위해서는.. 2023. 2. 28.
[iOS] Thread Sanitizer을 이용한 Race Condition (경쟁 상태) 확인 개발을 진행하면서 어떤 데이터에 접근할 때 크래쉬가 발생하여, 버그를 찾던 중 경쟁 상태 문제임을 확인하였습니다. 경쟁 상태란 공유 자원에 여러 프로세스 또는 스레드가 동시에 접근할 때 결과값에 영향을 줄 수 있는 상태를 의미합니다. Xcode의 Thread Sanitizer을 이용하면 멀티스레딩 환경에서 하나의 자원에 접근할 때 발생하는 Race Condition문제를 확인할 수 있는데요, 이해하기 쉽도록 어떠한 상황에서 경쟁 상태가 발생되는지 간략하게 정리해봤습니다. Thread Sanitizer 설정 방법 Product -> Scheme -> Edit Scheme에서 아래와 같이 Thread Sanitizer을 체크합니다. 경쟁 상태 구현 1. test() 함수 내부에서 비동기로 메인 스레드와 글로.. 2023. 1. 27.
반응형