일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- SwiftUI
- SwiftLint
- subscript
- swipe
- UITabBarController
- autolayout
- LazyHStack
- Swift
- string
- Alamofire
- Observable
- Apple
- 다크모드
- NavigationLink
- 문자열
- WebView
- Realtime Database
- gcd
- dictionary
- RxSwift
- 라이트모드
- remote config
- Firebase
- 웹뷰
- github
- UIScrollView
- Java
- Android
- ios
- UIButton
- Today
- Total
목록분류 전체보기 (158)
점진적 과부하 개발 블로그

Swift 네이버 영화 API의 네트워크 통신 코드 구현 MovieSearchRequestModel import Foundation struct MovieSaearchRequestModel: Codable { let queary: String } MovieSearchResponseModel import Foundation struct MovieSearchResponseModel: Decodable { var items: [Movie] = [] } Movie 데이터를 받아줄 Movie라는 구조체를 하나 따로 정의하겠습니다. struct Movie: Decodable { let title: String private let image: String let userRating: String let actor:..

네이버 영화 API 사용하기 네이버 Developers에 https://developers.naver.com/docs/serviceapi/search/movie/movie.md#%EC%98%81%ED%99%94 영화 - Search API 영화 NAVER Developers - 검색 API 영화 검색 개발가이드 검색 > 영화 네이버 영화 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시 developers.naver.com 링크로 들어가서 오픈 API 이용 신청을 눌러준다. 오픈 API 이용 신청을 마치면 Client ID가 제공이 됩니다.

SwiftLint Xcode에서 사용보기 SwiftLint 설치 Homebrew로 설치하는 방법도 있지만 Cocoapods으로 설치를 해보겠습니다. 먼저 설치할 프로젝트에 pod init을 해줍니다. 그 다음 pod 파일을 열어서 아래와 같은 구문을 추가해 줍니다. pod 'SwiftLint' 그 다음 Xcode Project Build Phase 추가를 해줍니다. ${PODS_ROOT}/SwiftLint/swiftlint Run Script를 추가 해주고 이름을 SwiftLint로 바꿔줍니다. 그리고 구문을 추가해줍니다. 이러면 SwiftLint의 설치는 끝이 납니다. 이제 커스텀을 하고싶으면 프로젝트에 .swiftlint.yml 파일을 수동적으로 추가를 해줘야합니다.

SwiftLint 알아보기 SwiftLint 란 하나의 Xcode내에서 Swift의 코드 스타일을 통합시킬수 있도록 도와주는 프레임워크이다. https://github.com/realm/SwiftLint GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions. A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub. github.com 강제로 NSObject를 Int형으로 타입 캐스팅을 시도하는 코드이다, 만약 실패하게 되면 앱이 크래쉬가 발생되는 아주 극단적인 코드이다...

SwiftUI NavigationLink 활용 enum을 활용한 NavigationLink 여러가지 NavigationLink를 구성할때 일일이 NavigationLink를 구성하면 코드가 지저분해지기 떄문에 ForEach와 enum을 이용해서 간단한 코드로 구현을 해보겠습니다. import Foundation enum Menu: String, CaseIterable, Identifiable { case service = "서비스" case cs = "고객지원" case terms = "약관 및 정책" var title: String { rawValue } var id: String { rawValue } var menu: [String] { switch self { case .service: retur..

Swift 한글이 포함된 url 처리하기 Swift 한글이 포함된 url 처리하는 방법 ur에 한글이 포함되 있을때 그냥 사용하면 동작을 하지 않습니다. 그럴때에는 아래에 인스턴스 메소드를 사용합니다. addingPercentEncoding(withAllowedCharacters:) 예제 코드 let urlKorString = "https://m.map.naver.com/search2/search.naver?query=영화관" let urlString = urlKorString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! 쿼리 URL 구성 요소에서 허용되는 문자집합을 반환합니다. https://developer.apple.com/doc..
Swift lazy 알아보기 lazy 처음 사용될 때까지 초기값은 계산되지 않는 프로퍼티 입니다. 선언 전에 lazy 수정자를 붙여서 사용합니다. var 에서만 사용이 가능합니다. lazy var example = Example() 에제 코드를 분석해보면 DataImporter를 초기화하는 importer라는 변수가 lazy로 선언이 되었습니다, 코드에서는 DataManager의 data라는 변수만 사용이 되었으니 DataImporter는 초기화가 되지 않습니다. importer라는 변수가 사용이 될 때 메모리에 올라간다. class DataImporter { var filename = "data.txt" } class DataManager { lazy var importer = DataImporter(..

콜렉션 타입(Collection Types) 배열(Array), 집합(Set), 딕셔너리(Dictionary)를 사용하여 데이터를 구성한다. Swift는 콜렉션의 값을 저장하기 위한 배열, 집합, 딕셔너리와 같은 3개의 원시적인 콜렉션 타입을 제공한다. 배열은 콜렉션 값에 순서를 가지고 있고, 집합은 반복되지 않은 값에 순서가 없는 콜렉션 타입이다. 딕셔너리는 Key-Value 쌍의 순서가 없는 콜렉션 타입이다. Swift에 배열, 집합, 딕셔너리는 저장할 수 있는 값의 타입과 키에 대해 항상 명확하다. 실수로 잘못된 타입을 추가할 수 없다. 또한 콜렉션에서 검색할 값에 대해 타입이 명확하다는 것을 의미한다. 제네릭 콜렉션(generic collections)으로 구현된다. 콜렉션의 가변성(Mutabli..