print(UIDevice.currentDevice().name) print(UIDevice.currentDevice().model) print(UIDevice.currentDevice().localizedModel) print(UIDevice.currentDevice().systemName) print(UIDevice.currentDevice().systemVersion) print(UIDevice.currentDevice().orientation) //결과 값 iPhone Simulator iPhone iPhone iPhone OS 9.3
UIKit에서는 UIButton을 상속받은 클래스를 만들었듯... SwiftUI에서는 ButtonStyle을 사용하게 된다! struct HomeScrollButtonStyle: ButtonStyle { var isSelected = false func makeBody(configuration: Self.Configuration) -> some View { VStack { configuration.label .foregroundColor(isSelected ? Color.red : Color.black) .font(isSelected ? .largeTitle : .body) if isSelected { Circle().frame(width: 5, height: 5, alignment: .center) }..
1. 이미지를 baseString으로 바꿔서, String으로 전송하기 2. 이미지를 Data로 전환해서 Multipart로 전송하기 주로 서버 개발자들이 2번으로 많이 해서 주는듯 하다. postman도 다음과 같이 Body가 form-data로 되어있는걸 확인할 수 있다. 사실 나는 단순히 header에 content type을 multipart로 설정하고, JSON에 담아서 보내면 될 줄 알았는데 그건 아닌 것 같다. 기존에 JSON같은 경우에는 JSONSerialization.data(withJSONObject:)를 사용했는데 form-data는 그것보다는 조금 복잡하다. func uploadImage(paramName: String, fileName: String, image: UIImage) ..
preview실행하면 실제로 실행도 해볼 수 있다!!! [Code] import SwiftUI struct BottomMenuView: View { var body: some View { TabView { AnnoucementView() .tabItem { Image("announcementNormal") Text("공지") } SafetyMapView() .tabItem { Image("mapNormal") Text("안전지도") } CouponView() .tabItem { Image("couponNormal") Text("쿠폰함") } } } } struct BottomMenuView_Previews: PreviewProvider { static var previews: some View { Bot..
@Binding: SwiftUI ----(data)---> UIKit Coordinator: UIKit ----(data)---> SwiftUI Coordinator을 쓰면, UIKit의 delegate를 구현할 수 있다. class Coordinator: NSObject, UISearchBarDelegate { @Binding var text: String init(text: Binding) { _text = text } func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { text = searchText } } struct SearchBarView: UIViewRepresentable { @Binding var tex..
일단, UIKit에 있는것들을 사용하려면 'UIViewRepresentable' 을 채택해야하는건 원래 알고 있었다. import Combine import NMapsMap import SwiftUI struct ContentView: View { var body: some View { NaverMapView() .edgesIgnoringSafeArea(.all) } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } struct NaverMapView: UIViewRepresentable { func makeUIView(context: Context) -> NMFMapView ..
@testable import
stackoverflow.com/questions/44682626/swifts-jsondecoder-with-multiple-date-formats-in-a-json-string JSONDecoder.decode()를 할때, 이런식으로 decoder의 dateFormat을 정할 수 있다. 근데, decode하려는 객체에 들은 Date 포맷이 하나가 아니라면 어떻게 해야할까?? 다음과 같은 extension을 만들어서 쓰는게 깔끔할것같다!!!!! extension JSONDecoder { /// Assign multiple DateFormatter to dateDecodingStrategy /// /// Usage : /// /// decoder.dateDecodingStrategyFormatters = ..
chp747.tistory.com/54