iOS
영상Swift에서 비동기(async)로 작업하는 경우 completion을 통해서 값을 가져오고 이 값을 사용할 때마다 계속 함수를 호출해야 했음// 함수 선언func downloadJson(_ url: String, completion: @escaping ((String?) -> Void)){ let url = URL(string: url)! DispatchQueue.global().async{ let data = try! Data(contentsOf: url) let json = String(data: data, encoding: .utf8) completion(json) }}// 사용downloadJson(MY_URL){ json in le..
modalPresentationStylemodal View Controller의 표현 스타일PresentationStyle은 System이 modal ViewController를 어떻게 표현하는지 정의시스템은 이 값을 일반적인 width 사이즈 클래스에서 사용(compact width 클래스에서는 일부 스타일은 다른 스타일의 동작을 수행)adaptivePresentationStyle(for:traitCollection:) 메서드를 구현하여 동작에 영향을 미칠 수 있음PresentationStyle은 modal ViewController의 콘텐츠 크기에도 영향을 미침 예를 들어 UIModalPresentationStyle.pageSheet은 시스템이 제공하는 명시적 크기를 사용하고, 이와 대조적으로 UIM..
GeometryReaderA container view that defines its content as a function of its own size and coordinate space.→ content의 고유한 Size와 좌표 공간의 함수로 정의하는 Container View→ 자식 뷰에 부모 뷰와 기기에 대한 크기 및 좌표계 정보를 전달하는 기능을 수행함GeometryReader{ _ in Circle().fill(Color.purple) .frame(width: 200, height: 200) .overlay(Text("Center").font(.title))}.background(Color.gray) GeometryProxy@available(iOS 13.0, ..
List하나의 열에 여러 개의 행으로 표현되는 UI를 구성해 다중 데이터를 쉽게 나열할 수 있는 구성된 ViewUIKit에서 동일한 역할을 하던 UITableView와 비교적 사용법이 간소화 됨List{ ForEach(0.. 동적 콘텐츠에서 사용 방식Range 동적 콘텐츠로 Range 타입을 넘겨줌Half-Open Range Operator(Range) A.. 다른 범위 연산자는 사용 불가List(0..RandomAccessCollection Protocol1. id로 사용할 값을 직접 인수로 지정// Hashable 프로토콜 준수 시에는 간편하게 self로 사용List(["A", "B", "C", "D", "E"], id: \.self){ Text("\($0)")} 2. Identifiabl..
서버에서 받은 쿠키를 이용하여 웹뷰에 넣어서 사용한다고 작업 내용이 전달되었다. 일단 서버에서 HTTP통신으로 헤더(HttpResponse)로 쿠키를 가져왔다.// HttpResponse에서 쿠키로 변경func convertHTTPResponseToCookies(httpResponseHeaders: [AnyHashable: Any]) -> [HTTPCookie] { var cookies: [HTTPCookie] = [] if let headers = httpResponseHeaders as? [String: String] { for (key, value) in headers { if key.lowercased() == "Set-cookie" { ..
openSettingsURLString | Apple Developer DocumentationThe URL string you use to deep link to your app’s custom settings in the Settings app.developer.apple.comif let url = URL(string: UIApplication.openSettingsURLString){ UIApplication.shared.open(url)} 응용[앱 이름]>[알림]에서\n알림을 허용해" data-og-host="dev-geeyong.tistory.com" data-og-source-url="https://dev-geeyong.tistory.com/74" data-og-url="https://..