iOS/iOS Swift Udemy - AngelaYu 28

SwiftUI) 간단한 테이블뷰 만들기

import SwiftUI struct ContentView: View { var body: some View { NavigationView { List(posts) { post in Text(post.title) } .navigationTitle("H4X0R News") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } struct Post: Identifiable { //Identifiable: 순서 인식 가능하게 함 let id: String let title: String } let posts = [ Post(id: "1", title: "Hello"), Post..

Sec15 187) FlashChat TIL

FlashChat TIL -Cocoapod, Firebase practice 1. 로그인/로그아웃 테스트 중 계속해서 아이디 패스워드 치기 귀찮으면 => ? storyboard 에서 잠깐 아이디 패스워드 쳐놓고 테스트 해도 됨 (코드베이스가 아니라 스토리보드 베이스일땐 이렇게 하면 진짜 편하네..) 2. popToRootViewController 웰컴VC -> 로그인VC -> 채팅VC로 이동한 경우, 채팅창에서 로그아웃한 뒤 WelcomeVC로 한번에 rootVC를 제외한 모든 stack을 pop 해서 넘어가는 코드 3. navigation back button 숨기기 - 한줄로 간단하게 해결 navigationItem.hidesBackButton = true 4. Constants 파일 만들기 by r..

Sec15 179) Cocoapods 설치

Cocoapods 설치 방법 터미널에 다음 두가지 명령 실행 (최초 설치시) 1. sudo gem install cocoapods 2. pod setup --verbose 제대로 설치되었는지 확인하려면 아래 명령 pod --version 1. 터미널에서 cd ~~ 해당 프로젝트 파일 (가장 parent 폴더) 2. pod init 참고) Xcode에서 코코아팟 init시 최근 에러가 남 해결방법: 아래 Xcode 14.0-compatible -> Xcode 13.0-compatible로 바꿔준다. 3. 파인더에서 해당 프로젝트로 들어가서 Podfile 우클릭->Others->Xcode로 열기 아래 페이지가 열린다. 이 pod file의 형식을 지정해야 관심 있는 pod을 실제로 추가할 수 있다. coco..

Sec15 176) for in loops 반복문

let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } //Hello, Anna! //Hello, Alex! //Hello, Brian! //Hello, Jack! for number in 1...5 { print("Hello, \(number)") } // Hello 1 // Hello 2 // Hello 3 // Hello 4 // Hello 5 for _ in 1...5 { print("Hello") } // Hello // Hello // Hello // Hello // Hello 조건이 참인 경우 계속해서 그 구문 안을 실행. 거짓인 순간 바로 빠져나옴. 무한루프 생성될 수 있으므로 주..

Sec15. 175) 타이핑 애니메이션

타이핑 애니메이션 titleLabel.text = "" var charIndex = 0.0 let titleText = "⚡️FlashChat" for letter in titleText { print("-") print(0.1 * charIndex) print(letter) Timer.scheduledTimer(withTimeInterval: 0.1 * charIndex, repeats: false) { (timer) in self.titleLabel.text?.append(letter) } charIndex += 1 } charIndex를 설정해준 이유? 타이머를 character 개수만큼 만들고, 각각의 타이머들 사이에 시간 간격을 두어야 차례로 글자가 타이핑 되는것처럼 실행되니깐. charInde..

Sec14 157) 소수점 원하는 자리에서 반올림 / 버튼 둥글게

Extension 활용 - 소수점 원하는 자리에서 반올림 / 버튼 둥글게 소수점 원하는 자리에서 반올림 extension Double { func round(to places: Int) -> Double { let precisionNumber = pow(10, Double(places)) var n = self n = n * precisionNumber n.round() n = n / precisionNumber return n } } Double -> String let priceString = String(format: "%.2f", bitcoinPrice) 버튼 둥글게 extension UIButton { func makeCircular() { self.clipsToBounds = true self..