custom error
·
SwiftUI
간단한 커스텀 바인딩으로 만든 코드custom binding 내용을 알면 다음 코드가 가능하다는 것을 알 수 있습니다. 에러의 값이 바뀔 때 alert의 true, false로 변환하는 코드입니다.extension Binding where Value == Bool { init(value: Binding) { self.init(get: { return value.wrappedValue != nil ? true : false }, set: { newValue in value.wrappedValue = nil }) }}struct ContentView: View { @State private var al..
custom binding
·
SwiftUI
@Binding 프로퍼티 래퍼는 뷰간 데이터를 전달할 때 사용됩니다 @Binding은 누구나 사용해 봤을 것입니다. 하지만 @Binding을 커스텀화하여 사용할 수도 있다는 사실은 몰랐습니다.   간단하게 3개의 View를 만들어보겠습니다.title은 각 View에서 사용자에게 보여줄 Text에 들어갈 string이며 errorTitle은 에러 메시지 showError는 에러 메시지를 보여주는 유무@State var title: String = "Start"@State private var errorTitle: String? = nil@State private var showError: Bool = false 첫 번째 View다음은 일반적으로 평소에 많이 쓰는 @State 프로퍼티 래퍼와 @Binding..
지도에서 내 현재 위치 가져오기 (네이버 지도)
·
SwiftUI
네이버에서 제공하는 showLocationButton 속성을 이용하면 사용자의 위치를 가져올 수 있습니다 사용자에게 위치 권한 받아오기사용자의 위치를 가져오기 위해서는 우선 사용자에게 위치 정보에 대한 접근 권한을 받아야합니다. 그러기 위해서는 Info.plist 를 수정해야합니다. Info.plist를 설정하여 사용자의 위치에 대한 권한을 받기 위해 사용자한테 보여줄 접근 권한의 설명을 설정하였으면 이제 사용자에게 접근 권한을 요청해야 합니다. CoreLocation의 CLLocationManager 클래스의 requestWhenInUseAuthorization() 메서드를 사용해 사용자에게 접근 권한을 요청합니다.import SwiftUIimport CoreLocation@mainstruct Dise..
JSONDecoder로 Decode할 때 에러
·
SwiftUI/에러해결
JSONDecoder로 데이터를 디코딩할 때 에러가 없지만 디코딩된 데이터가 비어있는 경우가 있을 수 있습니다  Decoding 할 데이터우선 다음과 같은 데이터 모델을 Decoding 하려고 시도하였습니다, 하지만 끊임없이 문제가 발생하였습니다.@Modelclass ExerciseRecordContainer: Identifiable, Decodable { enum CodingKeys: CodingKey { case startDate case endDate case totalTime case routineName } var startDate: Date = Date() var endDate: Date = Date() ..
카메라를 이용하여 QR code 스캔하기
·
SwiftUI
카메라를 이용하여 QR code를 스캔할 수 있는 CodeScanner 프레임워크가 있습니다https://github.com/twostraws/CodeScanner GitHub - twostraws/CodeScanner: A SwiftUI view that is able to scan barcodes, QR codes, and more, and send back what was found.A SwiftUI view that is able to scan barcodes, QR codes, and more, and send back what was found. - twostraws/CodeScannergithub.comCodeScanner 프레임워크 추가하기카메라를 이용하여 QR code를 스캔할 수 있도록..
네이버 지도 (마커 눌렀을 때 데이터 정보 불러오기 with 클러스터링)
·
SwiftUI
네이버 지도에서 marker를 클릭했을 때 해당 마커의 정보를 사용할 수 있습니다 클러스터링을 통해서 지도의 마커를 한꺼번에 묶을 수 있는 것을 확인했었습니다. 참고 이제 해당 마커와 클러스터링을 완료했지만 만약 해당 마커를 클릭했을 때 해당 마커의 정보를 가지고 특정 동작을 수행하도록 원한다면 어떻게 해야될까? 이 방법에 대해서 다루겠습니다.  클러스터링먼저 NMCClusterer 객체를 만들어 클러스터링을 작업을 진행하였습니다, 그리고 클러스터링 된 마커들은 지도에 표시됩니다. 다음은 지도에서 사용되는 마커의 정보를 정의한 클래스 입니다.class ItemKey: NSObject, NMCClusteringKey { let identifier: Int let position: ..
ytw_developer
'SwiftUI' 카테고리의 글 목록 (11 Page)