728x90

분류 전체보기 336

[Udemy iOS & Swift Bootcamp] Type Casting

Type casting 에 사용되는 구문을 알아보자. is 데이터 타입 확인용 let cell = UITableViewCell() if cell is UITableViewCell { print("The types match!") } as? 다운캐스팅을 확인하고 변환하는 것. 주로 if 문과 함께 사용함. if let messageCell = cell as? MessageCell { //Then can use messageCell's capabilities } as! 데이터 타입을 서브 클래스로 변환 강제 다운 캐스팅. Forced Downcast let messageCell = cell as! MessageCell as 타입을 슈퍼 클래스로 바꾸는, 항상 옳은 Upcast let newCell = mes..

[Udemy iOS & Swift Bootcamp] Table View(DataSource, Delegate)

채팅 창에서 채팅 리스트를 출력하기 위해 Table View 를 사용해보자. Table View는 데이터를 뿌릴 DataSource와 리스트에 이벤트를 부여할 Delegate 프로토콜이 필요하다. 1) DataSource extension: table view에 index에 맞춰 데이터를 뿌리기 위함 2) Delegate extension: table view 리스트의 index에서 각각에 이벤트를 부여하기 위함 1. Table View 추가 View 에 Table View 를 추가하고 코드상에서 연결한다. 2. table view 의 dataSource 에 self 데이터를 부여해준다. IBOutlet 으로 UITableView를 연결해준다. 또한, viewDidLoad() 함수 내에서 뷰가 로드된 후..

[Udemy iOS & Swift Bootcamp] 문자열을 위한 상수코드파일 만들기

import UIKit import FirebaseAuth class RegisterViewController: UIViewController { @IBOutlet weak var emailTextfield: UITextField! @IBOutlet weak var passwordTextfield: UITextField! @IBAction func registerPressed(_ sender: UIButton) { if let email = emailTextfield.text, let password = passwordTextfield.text { Auth.auth().createUser(withEmail: email, password: password) { authResult, error in if l..

[Udemy iOS & Swift Bootcamp] 2. Firebase 사용하기(회원가입, 로그인, 로그아웃)

https://firebase.google.com/docs/ios/setup?hl=ko&authuser=0 Apple 프로젝트에 Firebase 추가 | Apple 플랫폼용 Firebase Google I/O 2023에서 Firebase의 주요 소식을 확인하세요. 자세히 알아보기 의견 보내기 Apple 프로젝트에 Firebase 추가 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요 firebase.google.com 1. 로그인(비밀번호 인증) 구현하기 https://firebase.google.com/docs/auth/ios/password-auth?hl=ko&authuser=0 Apple 플랫폼에서 비밀번호 기반 계정으로 Firebase에 인증 | Firebase 인증 G..

[Udemy iOS & Swift Bootcamp] 1. Firebase 추가하기

https://firebase.google.com/ Firebase Firebase is an app development platform that helps you build and grow apps and games users love. Backed by Google and trusted by millions of businesses around the world. firebase.google.com *Firebase: 클라우드에 데이터 저장, 사용자 인증 등의 다양한 기능을 제공하는 플랫폼 1. 프로젝트 생성 1 - 1) 프로젝트 이름을 입력하고 생성해준다. 2. 만든 프로젝트에서 ios 앱을 추가해준다. 3. 앱을 만들 때 필요한 정보를 입력해준다. Apple Bundle ID 는 프로젝트 > T..

[Udemy iOS & Swift Bootcamp] 3rd Party Libraries & Cocoapods

*3rd Party Libraryies: 외부 오픈소스 라이브러리들 *Cocoapods: Xcode 에서 Library들을 관리하는 도구. Cocoapods에 95,000개 이상의 라이브러리가 존재한다. Xcode 에서는 다양한 외부 라이브러리들을 편리하게 사용하기 위해서 Cocoapods 도구를 설치해야 한다. 라이브러리를 나열한 후 pod install 구문으로 자동설치해주고, pod update 구문을 통해 자동으로 라이브러리를 업데이트해주는 등 관리가 용이하다. https://cocoapods.org/ CocoaPods.org CocoaPods is built with Ruby and is installable with the default Ruby available on macOS. We rec..

[Udemy iOS & Swift Bootcamp] Typing Animation(Timers, For loops)

웰컴 화면의 글자를 타이핑 치는 듯한 애니메이션으로 표현해보자. 1. TextLabel 스크립트에 연결 2. 반복문에 타이머 추가 import UIKit class WelcomeViewController: UIViewController { @IBOutlet weak var titleLabel: UILabel! override func viewDidLoad() { super.viewDidLoad() titleLabel.text = "" var charIndex = 0.0 let titleText = "⚡️FlashChat" for letter in titleText{ print("-") print(0.1 * charIndex) print(letter) Timer.scheduledTimer(withTimeI..

[Udemy iOS & Swift Bootcamp] Navigation Controller Stack

화면을 넘길 때마다 위로 쌓되, Back 버튼을 만들어서 관리해주자. 1. Ctrl 키로 화면과 화면사이를 연결해준다. 2. Root 노드의 View Controller 버튼을 클릭한 후, Editor > Embed In > Navigation Controller 클릭 한다. 그럼 위와 같이 Root 화면을 기준으로 다른 화면에 Back 버튼이 생긴다. 이게 바로 Navigation Controller Stack. 3. Chat 화면에서 Register/Login 화면으로 돌아갈 때는 헷갈니까 RegisterToChat, LoginToChat으로 이름 정의해주기. 4. 실행해서 결과물 확인

[C++][Goorm][탐색] 카드 교환하기

구름EDU - 모두를 위한 맞춤형 IT교육 구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/ edu.goorm.io 사람들이 번호가 적힌 카드를 갖고 있는데, 이 번호가 자신의 번호랑 최대한 비슷해야 한다. 친구관계의 사람들은 카드를 교환할 수 있다. 자신의 번호랑 카드의 번호의 차이를 불만족도라고 하는데, 이 불만족도가 가장 적은 합의 경우를 구해서 최소 불만족도 값을 출력하면 된다. 사람들의 수와 카드번호는 1보다 크며, 친구관계가 없을 수도 있다. *해결법 1) 친구관계를 표현한 행렬을 만들고 조합을 구할 때, 친구관계이면 해당 조합을 선택해서 불만족값..

[C++][Goorm][정렬] 단어장 만들기

구름EDU - 모두를 위한 맞춤형 IT교육구름EDU는 모두를 위한 맞춤형 IT교육 플랫폼입니다. 개인/학교/기업 및 기관 별 최적화된 IT교육 솔루션을 경험해보세요. 기초부터 실무 프로그래밍 교육, 전국 초중고/대학교 온라인 강의, 기업/edu.goorm.io *해결법처음엔 단어 길이로 오름차순 정렬되는 것을 못보고 그냥 sort 했다가 틀렸다.문제에서 요구하는 것은 단어의 길이가 같을 땐 알파벳 순서로 정렬하고 단어의 길이가 다를 땐 단어의 길이별로 정렬해야 하므로 Custom Sort 함수가 필요하다. *알아둘것1) Custom Sort 함수 활용법bool sortWord(string word1, string word2){ //사이즈가 다르면 긴게 뒤로 if(word1.size() != word2.s..

728x90