분류 전체보기279 14. [SwiftUI] LazyVGrid, LazyHGrid, GridItems Lazy 를 통해 좀 더 효율적으로 데이터 로드가 가능 (lazy 아니면 일부 데이터만 필요한데, 전체 데이터 로드하는 경우가 생길 수 있음) flexible을 자주 사용. 스크롤뷰와 함께 응용 (pinnedViews에 header) LazyHGrid는 방향만 Horizontal이고 다 동일하다. // Created by Toughie on 2023/04/19. // import SwiftUI struct Grids: View { let colors: [Color] = [Color.blue, Color.red, Color.yellow] let columns: [GridItem] = [ GridItem(.flexible(), spacing: 6, alignment: nil), GridItem(.flexib.. 2023. 4. 19. JSON Parsing JSON이란? JavaScriptObjectNotation의 약자. JSON의 문법이 자바스크립트 문법과 유사하지만 자바스크립트에서만 사용되는 것이 아니라 JSON Parsing을 지원하는 프로그래밍 언어에서는 다 사용할 수 있다. 인간이 읽고 쓰기 쉬우며, 컴퓨터가 구문을 분석하고 생성하기 쉬운 '가벼운 데이터 교환 형식'을 말한다. 보통 서버/웹 응용 프로그램 간 데이터 전송 및 텍스트 파일 형식으로 데이터를 저장하는데 사용된다. JSON 데이터는 key - value 쌍으로 되어있다. key - 항상 문자열(String)이다. value - 문자열, 숫자, bool, 배열, 혹은 다른 JSON 객체일 수도 있다. 예시코드를 살펴보며 하나씩 보자. https://ko.wikipedia.org/wiki.. 2023. 4. 16. 20 - SNS View (테이블뷰/셀, JSON parsing, 제스쳐, 오토레이아웃) 인스타, 페북과 같은 SNS 뷰를 구현해 보는 시간을 가졌다. 오토레이아웃 파트도 중요하지만 크게는 테이블뷰를 활용하는 방식에 대해 더 초점을 맞춰 정리해보고자 한다. [데이터] 먼저 데이터의 경우 JSON 형식으로 외부에서 받아오는 경우가 많다. (open API를 사용한다든가.. 대부분의 API에서 JSON 형식으로 데이터를 전달해 준다.) JSON으로 받아온 데이터를 내 필요에 맞게 형태를 변경하는 작업을 파싱이라 할 수 있겠다. 아래 포스팅에 더욱 자세하게 정리되어 있다 :) https://toughie-ios.tistory.com/113 JSON Parsing JSON이란? JavaScriptObjectNotation의 약자. JSON의 문법이 자바스크립트 문법과 유사하지만 자바스크립트에서만 사.. 2023. 4. 16. [SwiftUI] PropertyWrapper, @State, @Binding 스스챌 에러를 해결하던 중.. @State와 @Binding을 사용하는 경우도 많았고, 해당 개념이 있었다면 더 빠르게 해결 할 수 있었을 문제도 있어서 간단하게 정리해보려 한다. Property wrapper 우선 프로퍼티 래퍼(@붙은 녀석들)가 무엇인지 알아보자. '랩으로 감싼다' 프로퍼티를 특정 타입으로 감싸서 추가적인 동작이나 기능을 가진 프로퍼티를 선언할 때 쓰인다. 이 타입은 PropertyWrapper 프로토콜을 준수하고, 프로퍼티 읽기/쓰기 (get, set) 에서의 동작을 정의한다. SwiftUI에서 Property wrapper는 데이터 상태 관리를 심플하게 하는데 자주 쓰인다. 대표적인 프로퍼티 래퍼가 @State, @Binding 이다. @State 프로퍼티의 값이 변경될 때 뷰를 .. 2023. 4. 13. 13. [SwiftUI] ScrollView / LazyVStack & LazyHStack 파라미터 axes -> .vertical(수직 스크롤), .horizontal(수평 스크롤) showIndicators -> 스크롤 하면 오른쪽에 회색 바 표시할지 말 지( bool ) content -> () -> View 타입 클로저 스크롤뷰를 만드는 것은 간단하다. 그럼 수직, 수평 스크롤 다 되는 화면을 만들어 보자 ! // Created by Toughie on 2023/04/13. // import SwiftUI struct ScrollViewPrac: View { var body: some View { ScrollView { LazyVStack { ForEach(0.. 2023. 4. 13. [Swift] 백준 1000번 A+B 터피의 야금야금 알고리즘 import Foundation let input = readLine()! let result = print(input.components(separatedBy: " ").map { Int($0)!}.reduce(0, +)) 입력값을 공백을 기준으로 나눌 때 .split을 쓸 수도 있는데, .split은 Swift 표준 라이브러리에 있어서 import Foundation을 안 해도 되는 장점이 있다. 또한 separator 이외에 다양한 파라미터가 존재한다. return 타입은 [SubString]이다. .components는 import Foundation이 필요하다. 파라미터는 separatedBy 딱 하나다. return 타입은 [String]이다. 이 문제에서는 정수리터럴.. 2023. 4. 13. 이전 1 ··· 34 35 36 37 38 39 40 ··· 47 다음