일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- parse
- swift
- Pod
- dynamic height
- JSONSerialization
- SwiftGen
- RealmSwift
- programmers
- Custom PageViewController
- PageViewController
- UITableView
- Xcode
- cocoapods
- 정보처리기사
- CustomCode
- IOS
- 정보처리기사 실기 요약본
- JSON
- 정보처리기사 실기
- 2018 KAKAO BLIND RECRUITMENT
- Codable
- 위클리챌린지
- Decodable
- issecuretextentry
- storybaord
- JSONParser
- pbxgroup
- pbxfilesystemsynchronizedrootgroup
- 티스토리챌린지
- 프로그래머스
- Today
- Total
목록iOS (20)
iOS 개발일기
기존 PageViewController를 사용한 방법이 아닌 UICollectionView를 이용하여 PageViewController를 구현해보았습니다. import UIKit class PageViewController: UIViewController { var indicatorConstraint: NSLayoutConstraint? var indicatorView: UIView! var naviCollection: UICollectionView! var pageCollection: UICollectionView! override func viewDidLoad() { super.viewDidLoad() setupControls() setupLayout() initData() } private func..
firebase와 project를 연동하려고 podfile을 update하려고하는데 에러가 나더라구요. [IMPORTANT] Don't forget to include the Crash Report log file under DiagnosticReports directory in bug reports. 구글링 좀 해보니 M1에서만 일어나는 이슈라고하네요,, % sudo arch -x86_64 gem install ffi% pod install터미널에서 해당 프로젝트 경로에서 실행해주니 문제 없이 잘 업데이트가 되더군요.
오늘은 JSON 파싱 방법 중 하나인 JSONSerialization에 대해서 알아보겠습니다. JSONSerialization은 Decodable에 비해 제약이 심하지 않죠.그렇지만 Decodable이 워낙 간단하게 구현할 수 있는지라... 기본적인 JSONSerialization먼저 문자열을 하나 선언해주겠습니다.let jsonString = """ { "user_id" : 0, "user_name" : "hoon", "user_age" : 30 } """ 그 다음 JSONSerialization을 해보도록..
전편 [Swift] JSONParser - Decodable(1) Swift에서 JSON 파싱을 위한 방법에는 JSONSerialization Decodable 이 두가지 방법이 있습니다. 오늘은 Decodable을 이용하여 JSON 파싱을 하는 방법에 대해서 알아보겠습니다. 먼저 파싱에 필요한 예제 데이 93bpm.tistory.com 이번 편에서는 Decodable에 대한 이해도를 조금 더 높힐 수 있는 시간을 가져보겠습니다. Decodable은 사용하는 방법이 편하지만 생각보다 제약이 많기 때문에 정확하게 이해하고 사용해야합니다. 간단한 형식이라면 문제없이 사용할 수 있겠지만 언제나 간단한 파싱만 하지않는 법이죠...허허 어떠한 상황에서 에러가 나는지 어떻게 대처해야되는지 몇 가지 알아보도록 하겠..
Swift에서 JSON 파싱을 위한 방법에는 JSONSerialization Decodable 이 두가지 방법이 있습니다. 오늘은 Decodable을 이용하여 JSON 파싱을 하는 방법에 대해서 알아보겠습니다. 먼저 파싱에 필요한 예제 데이터를 만들어줍시다. JSON String Example let jsonString = """ [ { "user_id" : 1, "user_name" : "hoon", "user_age" : 28 }, { "user_id" : 2, "user_name" : "joon", "user_age" : 30 }, { "user_id" : 3, "user_name" : "min", "user_age" : 32 } ] """ Decodable을 사용하기 위해서는 Struct 또는 C..
iOS 15 업데이트 이후, navigationController에서 barTintColor 적용이 제대로 이루어지지 않아 iOS15에서 색이 적용되지 않아 투명한 네비게이션바가 보이는 현상이 발견되어 이 문제를 해결하는 방법을 찾아봤습니다. in AppDelegate didFinishLaunchingWithOptions if #available(iOS 15.0, *) { //or (iOS 13.0, *) let appearance = UINavigationBarAppearance() appearance.backgroundColor = .myColor UINavigationBar.appearance().standardAppearance = appearance UINavigationBar.appearanc..
Cannot load module 'swiftUI' as 'SwiftUI' 'swiftUI'는 프로젝트 이름이고 'SwiftUI'는 모듈의 이름입니다.프로젝트 이름이 모듈의 이름과 같이 생성되어있을 경우 발생하는 에러이므로 프로젝트 이름만 변경해주시면 에러가 해결됩니다.
스위프트에서는 URL에 한글또는 특수문자가 포함되면 인코딩을 통해서 값을 변환한 다음 보내주어야 합니다. 한글을 변환하는데 도움을 주는 함수가 addingPercentEncoding() 입니다. 한글만 사용하게 된다면 문제가 없지만 특수문자도 같이 사용하게 된다면 이야기가 달라집니다. 예를 들어, let text: String = "@# $&'" test.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) 이 결과를 프린트 해본다면 %ED%8A%B9%EC%88%98%20%EB%AC%B8%EC%9E%90%3A%20@%23%20$&\' @#과 공백은 변환되지만 $&'은 같은 특수문자인데도 변환이 되지 않는 것을 확인할 수 있습니다. 이렇게 된다면 통..
[Xcode] 패키지를 새로운 프로젝트로 복사하기[패키징] 하나의 패키지를 바탕으로 프로젝트이름만 변경하고, 설정파일 몇 개만 변경하는 경우가 있다. 새로 프로젝트를 파는 것이 아닌 경우를 말한다. [절차] 스크린샷으로 설명한다. 1. 기존g-y-e-o-m.tistory.com iOS ) Xcode 프로젝트 이름 바꾸는 방법안녕하세요 :) Zedd입니다. 오늘은...Xcode프로젝트 이름을 바꿔보겠습니다 XD 천천히 따라하시면 정말 쉬워요 :) Xcode 프로젝트 이름 바꾸는 방법 1. 프로젝트로 간다. 2. 왼쪽 Project Navigator로 간다. 3.zeddios.tistory.com
개발환경macOSCatalina 10.15.4Xcode11.4iOS13.4 (Simulator : iPhone 11 Pro) 몇달 전에 여느 때와 다름없이 새 프로젝트를 켜고 AppDelegate로 들어가서 커스텀 코딩으로 rootViewController를 설정하려고 보니 SceneDelegate라는 녀석이 새로 생겨서 당황했었던 것이 기억난다.(나는 초보 개발자여서 업데이트 노트를 일일히 보지않았기 때문에...) 여튼 처음에는 무시하고 AppDelegate에다가 커스텀 코딩을 했었는데 역시나 에러가 주구장창떠서 살펴보니 Xcode11버전으로 업데이트 되면서 생긴 SceneDelegate에서 코딩을 해주어야 하고 Storyboard를 삭제해주어야 했다. 그래서 유지보수를 하다가 나중에 새 프로젝트를 만..