본문 바로가기

Project

(82)
FireBase - 사용자 등록 기능 https://firebase.google.com/docs/auth/ios/start?hl=ko&_gl=1*18o4hk5*_up*MQ..*_ga*NTI2ODUyODA1LjE3MzMxOTIwNjM.*_ga_CW55HF8NVT*MTczMzE5MjA2My4xLjAuMTczMzE5MjA2My4wLjAuMA.. Apple 플랫폼에서 Firebase 인증 시작하기  |  Firebase Authentication2024년 데모 데이에서 Firebase를 사용하여 AI 기반 앱을 빌드하고 실행하는 방법에 관한 데모를 시청하세요. 지금 시청하세요. 의견 보내기 Apple 플랫폼에서 Firebase 인증 시작하기 컬렉션을 사용해firebase.google.com https://normalblog.tistory.com/6..
FireBase - Alert import UIKitclass AlertManager { private static func showBasicAlert(on vc: UIViewController, with title: String, and message: String?) { DispatchQueue.main.async { let alert = UIAlertController(title: title, message: message, preferredStyle: .alert) alert.addAction(UIAlertAction(title: "Dismiss", style: .default, handler: nil)) vc.present(al..
FireBase - UITextView with open WKWebView import UIKitclass RegisterController: UIViewController { ... private let termsTextView: UITextView = { let textView = UITextView() let attributedString = NSMutableAttributedString(string: "By creating an account, you agree to our Terms & Conditions and you acknowledge that you have read our Privacy Policy.") attributedString.addAttribute(.link, value: "..
FireBase - Webkit import UIKitimport WebKitclass WebViewerController: UIViewController { // MARK: - Variables private let urlString: String // MARK: - UI Components private let webView = WKWebView() // MARK: - Initializations init(with urlString: String) { self.urlString = urlString super.init(nibName: nil, bundle: nil) } required init?(coder: NSCoder) { ..
FireBase - 커스텀 버튼, 뷰, 텍스트 필드에 대해 코드를 구현하다 보면, 동일하게 반복되는 코드가 있습니다. 오늘은 이런 코드를 어떤 식으로 구현하면 좋을지에 대해 배웠습니다.  이전까지는 버튼을 예로 들면, 버튼의 외형은 동일하나, 그 안에 들어가는 텍스트의 크기나 굵기가 다를 경우가 있었어도, 이에 대해 대체할 방법에 잘 알지 못했습니다.  오늘은 몇 가지에 대해 알아보려고 합니다.  AuthHeaderViewimport UIKitclass AuthHeaderView: UIView { // MARK: - UI Components private let imageView: UIImageView = { let imageView = UIImageView() imageView.contentMode = .scaleAs..
메모 상세 화면 구현 메모 목록 화면에서 선택한 화면의 전체 내용을 볼 수 있는 상세 화면 구현 MemoReadVC 파일 내에 MemoData 타입의 param 변수 생성 viewDidLoad 메소드 내에 아래 코드 구현 - param 변수의 값을 이용하여 화면 객체에 콘텐츠 출력 - 날짜 포맷을 통해 원하는 방식으로 변환 - 작성한 시간을 네비게이션 타이틀에 할당 MemoListVC 클래스내에 tableView(_: didSelectRowAt:) 메소드 구현 여기까지 하면 메모 앱을 작성하고 보는 것까지 구현함 앞으로 해볼 것 1. 삭제, 업데이트 기능 추가 2. 탭바를 추가하여 홈화면, 설정화면 넣어보기
메모 목록 화면 구현 UITableViewController 클래스를 상속받아 구현 핵심 내용 앱 델리게이트의 memoList 배열에 저장된 데이터를 읽어와 테이블 뷰를 구성하는 것 먼저 MemoListVC.swift 파일 내에 앱 델리게이트 객체를 참조할 수 있도록 멤버 상수를 정의 tableView(_ : numberOfRowsInSection: ) 메소드에 테이블 뷰 셀 개수를 결정하는 코드 구현 tableView(_: cellForRowAt:) 메소드를 통해 개별 행을 어떻게 구성할지 코드 구현 테이블 객체의 재사용 큐에서 프로토타입 셀의 인스턴스를 보면 iOS 시스템 리소스의 절야과 퍼포먼스를 위해 새로운 테이블 셀을 만들기보다 이미 만들어진 셀을 재사용할 수 있도록 처리 Date() 타입의 날짜 정보를 String..
메모 작성 화면 구현 (메모 저장) 메모 내용 및 이미지를 선택한 뒤에 저장 버튼을 눌렀을 때 메소드 구현 입력된 값을 저장하는 순서는 다음과 같음 1. 메모 내용이 입력되지 않았을 경우 대비, 경고창 띄움 ☆ 경고창에 버튼을 추가하고 싶다면? ☆ 원하는 버튼의 개수 만큼, UIAlertAction 클래스 객체를 생성 -> 등록 진행 2. 데이터를 저장할 MemoData 객체 생성 제목, 내용, 이미지, 작성 시간을 MemoData 객체에 전달 3. 앱 델리게이트 인스턴스를 불러온 뒤, memoList 배열 변수에 MemoData 객체 추가 UIApplication.shared는 UIApplication 객체의 인스턴스를 참조하기 위해 제공되는 타입 프로퍼티 UIApplication 객체는 직접 인스턴스 생성 불가, 시스템에 의해 생성된 ..