![[Swift 문법] 2 - 1. 기본 자료형](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FF4snw%2FbtsJVUhuuBD%2FHI9G2pIiozoRoA7PpQbLy1%2Fimg.png)
🍏 1. 기본 자료형 (Primitive Types)◻️ 1) 정수형 (Integers)정수형은 소수점이 없는 정수 값을 저장하는 자료형입니다. Swift는 두 가지 주요 정수형을 제공합니다① Int : +, - 부호를 포함한 정수var age: Int = 30② UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수var count: UInt = 50*🌈 Int와 UInt 중 선택해 사용*플랫폼에 따른 Int의 최댓값(64비트 환경이라면 Int64의 최댓값) 이상 UInt 최댓값 미만을 사용하게 되는 경우 이외 에는, UInt보다는 Int 타입을 사용하는 것이 권장된다.예를 들어 64비트의 환경이라면 Int64의 최댓값과 UInt64의 최댓값 사이의 값을 사용하는 경우 이외에 정수 타입의 값을..
![[Swift 문법] 2. 자료형](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEUoOv%2FbtsJWOHlLDm%2Fca1dHVKkhZSshW5qRWklik%2Fimg.png)
🍎 자료형Swift에서 자료형의 역할🌈 자료형 (Data Type)변수나 상수가 저장할 수 있는 값의 종류와 해당 값에 대해 수행할 수 있는 연산을 정의하는 추상적 개념입니다.🌈 타입 안전성 (Type Safety)Swift는 변수나 상수가 선언된 타입과 일치하지 않는 값을 할당하거나 연산하려고 할 때 컴파일 타임에 오류를 발생시켜 타입 관련 오류를 방지합니다.🌈 타입 추론 (Type Inference)컴파일러가 변수나 상수의 초기 값을 기반으로 자동으로 타입을 결정하여 코드의 간결성과 가독성을 높입니다.🌈 타입 주석 (Type Annotation)변수나 상수를 선언할 때 명시적으로 타입을 지정하여 코드의 의도를 명확하게 표현하고, 컴파일러가 타입을 정확히 이해하도록 합니다.🍏 1. 기본 자료..
![[TeamProject] Troubleshooting_AED API](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUtJrk%2FbtsJT4Evp8y%2FvyxbRhK1Mg34eHypknOsNK%2Fimg.jpg)
문제상황AED API의 요청 변수에 위도 경도 값이 존재 하지 않아서반경 데이터를 가져오는데 문제가 발생함문제 해결해결방안 논의1안 : 공공데이터 포털에 요청변수 추가 요청하기2안 : 앱 최초 실행 시 모든 데이터를 받아서 UserDefaults에 저장해서 위경도 값 필터링 해서 가져오기논의 과정https://github.com/Kim-Dong-Hyeon/Duriso/issues/56 [ETC] : AED데이터 관련 · Issue #56 · Kim-Dong-Hyeon/Duriso어떤 문제인가요? aed api 요청변수에 위경도 값을 지정해주는 요청변수가 없다보니 전체 데이터를 받아와서 거기서 가시성 조율을 하기에는 데이터가 너무 많은데 어떻게 하면 좋을까요? 생각한github.comgithub issue..

1. 싱글톤 패턴에 대해서 설명해주세요.답변: 싱글톤(Singleton) 패턴은 클래스의 인스턴스를 하나만 생성하고, 어디서든 이 인스턴스에 접근할 수 있도록 보장하는 디자인 패턴입니다. 주로 전역적으로 관리해야 하는 리소스나 상태를 공유하는 객체에 사용됩니다. iOS에서는 네트워크 관리, 데이터베이스 접근, 설정 관리 등에 주로 사용됩니다.추가 질문 가능성:싱글톤 패턴의 장단점은 무엇인가요?답변: 장점은 전역적인 상태 관리가 용이하고, 객체 생성 비용을 줄일 수 있다는 점입니다. 단점은 전역 상태를 공유하므로, 의존성이 높아지고 테스트가 어려워질 수 있다는 점입니다.iOS에서 싱글톤을 만들 때 주의할 점은?답변: Swift에서는 static let을 사용해 싱글톤을 구현할 때 스레드 안전성을 보장하고,..

1. clipToBounds에 대해서 설명해주세요.답변: clipToBounds는 부모 뷰의 경계를 기준으로 자식 뷰의 표시 여부를 결정하는 속성입니다. true로 설정하면 자식 뷰가 부모 뷰의 경계를 넘는 부분이 잘리고, false로 설정하면 넘는 부분도 보입니다.추가 질문 가능성:clipToBounds를 언제 사용하나요?답변: 부모 뷰의 경계를 넘어가는 자식 뷰의 내용을 숨길 때 사용합니다. 예를 들어, 부모 뷰에 둥근 모서리를 적용한 경우, 자식 뷰가 경계를 넘지 않도록 할 때 유용합니다.clipsToBounds와 maskToBounds 차이점은 무엇인가요?답변: clipsToBounds는 UIView에 적용되는 속성으로, 자식 뷰를 잘라내는 역할을 합니다. 반면, maskToBounds는 CALa..
![[TeamProject] Troubleshooting_POI show/hide](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FT9BUX%2FbtsJwMDJyXJ%2FfTMG1A9nk2u6nBu2Y909oK%2Fimg.jpg)
문제점- 지도의 하단에 대피소, 제세동기, 긴급제보 버튼 클릭시 poi마커가 show/ hide 가 제대로 이루어 지지 않음- 로그메시지에 poi가 표시중이라고 뜨지만.. 지도에는 나타나지 않음해결방법1. hide 해주는 메서드에서 사용한 layer.clearAllItems()가 문제였음()를 모든 아이템을 숨김 으로 이해하고 사용했지만KakaoMapsSDK 2.10.5 Docs를 다시 살펴 보니해당 레이어의 모든 아이템을 삭제!! 해주는 것이었음그래서 데이터가 다 날아간 상태여서 다시 보여줄 마크가 없었던것현재 Layer에 있는 모든 item을 일괄적으로 지운다.하나의 layer안에 Poi와 WaveText가 함께 추가가 가능하므로, 이 경우 clear를 호출게 되면 모든 Poi와 WaveText가 지..
![[TeamProject] CodeBase 카카오맵 _ 기초부터 차근차근](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFT92d%2FbtsJuUIiXd2%2FvsM9zzTPt90xLqH9cLtxv1%2Fimg.jpg)
카카오맵...api를 사용하면서 여러가지 트러블 슈팅들을 겪고 있다..디버그를 아무리 찍어봐도 계속 도르마무 도르마무.. 하나를 해결하면 다른 하나가 안되는 그런 상황이라서처음부터 다시 기초부터 차근차근 맵 구성부터 다시 해보려고 한다1. 카카오맵 뷰 그리기 카카오 맵 초기화와 추가, api 오류 에러코드까지만 작업 한 내용SDK 가이드라인에 스토리보드와 SwiftUI만 안내가 되어있음... 코딩 잘하시는분들은 뚝딱뚝딱 하겠지만코드베이스로 처음 맵 작업해보시는 분들은 참고 하면 좋을듯import UIKitimport KakaoMapsSDK/** -KakaoMapViewController : KakaoMap의 뷰트롤러 관리 */class KakaoMapViewController: UIViewControl..
import Foundationimport SwiftOnoneSupportimport UIKitimport _Concurrencyimport _StringProcessingimport _SwiftConcurrencyShimsimport osimport os.log/// 패널 뒤에 배경 인터페이스를 제공하는 뷰입니다.@objc(FloatingPanelBackdropView) open class BackdropView : UIView { /// 패널을 해제하기 위한 탭 제스처의 제스처 인식기입니다. /// /// 기본적으로 이 제스처 인식기는 iOS 모달의 기본 동작을 따르기 때문에 비활성화되어 있습니다. /// 배경을 탭하여 패널을 해제하려면 `dismissalTapGestureRec..