iOS
-
[iOS] UMC iOS 세미나 6주 차iOS/UMC 2022. 10. 31. 23:14
Thread (이야기 등의)가닥[맥락], 프로세스의 흐름, 프로세스의 내부에 속함, 프로세스의 시작과 종료 담당 💡프로세스(실행 중인 프로그램) 개념도 필요! 프로그램 안에서 스레드들이 각자 역할을 정해서 분담 -> 수행 하나의 프로세스 안에는 최소 1개의 스레드가 존재하게 된다. Multi-Thread 일만 분배하고, 줄어들지는 않기 때문에 분배를 하기 전과 후의 걸리는 시간은 같음 작업의 순서를 가질 수 있음 (ex. 파일 B를 다운받으려면 파일 A가 필요한 경우 작업의 순서 필요) Thread - 프로세스 내에서 실행되는 흐름의 단위 - Multi-Thread를 통해 Thread들이 각각 독립적인 흐름을 가질 수 있음(일의 능률과는 거리가 멀다. 단순히 분배만 할 뿐) - 공유 자원에 동시 접근하여..
-
[iOS] 4-5주 차 미션iOS/UMC 2022. 10. 31. 23:13
4주 차 미션 ✅ TableView를 이용하여 메모장 구현하기 먼저 필요한 ViewController 파일을 생성해준다. TableView DataSource와 Delegate 프로토콜을 채택하여 필요한 코드를 작성해준다. UITableViewDelegate - 테이블 뷰에서 section의 header, footer를 관리하고 셀을 삭제하거나 위치를 바꾸고 그 외의 다른 작업을 수행하기 위한 메서드를 제공한다 - 테이블뷰의 시각적인 부분을 수정해주고, 테이블 뷰의 개별 행 편집 등을 도와주는 역할을 한다 UITableViewDataSource - 테이블 뷰의 셀에 사용되는 데이터를 관리하기 위한 메서드를 제공한다 - 테이블뷰를 생성하고 수정하는데 필요한 정보를 테이블뷰 객체에 제공하는 역할을 한다 //..
-
[iOS] UMC iOS 세미나 5주 차iOS/UMC 2022. 10. 31. 23:12
✅ Open Source와 Library Open Source를 이해하고 필요한 경우 찾아 쓸 수 있다. CocoaPods을 통해 외부 라이브러리를 설치하여 적용할 수 있다. 💡 4주차에서 만들었던 카카오톡 채팅창에 아래로 슬라이드하면 나오는 로딩바 구현해보기! @IBOutlet weak var kakaoTalkTableView: UITableView! // UIRefreshControl(): A standard control that can initiate the refreshing of a scroll view’s contents. let refreshControl = UIRefreshControl() override func viewDidLoad() { super.viewDidLoad() // 필수..
-
[iOS] UMC iOS 세미나 4주 차iOS/UMC 2022. 10. 27. 23:10
✅ 오늘의 학습 목표 ScrollView를 이해한다. ScrollView의 개념을 기반으로 TableView를 이해하고 활용할 수 있다. CollectionView를 이해하고 활용할 수 있다. protocol과 delegate에 대해 이해하여 화면(ViewController)간의 데이터를 전달할 수 있다. 📌 TableView 동일한 레이아웃이 반복되는 UI를 만들 때 일일이 하드코딩? ❌ -> 시간, 메모리상의 문제 발생 TableView를 활용하자! - 목록 형태의 뷰를 구현하는데 용이 - 재사용 큐를 활용한 메모리 관리 - ScrollView를 상속받아 스크롤 가능 📌 CollectionView TableView와 마찬가지로 Cell이 반복되는 형태의 구조를 가지고 있다. 📌 TableView vs..
-
[iOS] 인스타그램 클론 코딩을 해보자!(3) - 버튼 생성&꾸미기iOS/project 2022. 10. 10. 23:05
✅ 오늘 공부한 내용 - 버튼에 radius 속성 주기 - 버튼 텍스트에 다른 컬러 적용하기 - back button 구현하기 버튼에 radius 속성 주기 1️⃣ 새로운 Swift 파일을 생성한 뒤 다음과 같은 코드를 작성한다. 💡 @IBInspectable을 이용하여 inspector 영역에 새로운 속성을 추가하는 것이다! import UIKit @IBDesignable extension UIView { //extension으로 UIView 확장 // 📌 @IBInspectable: inspector 영역에서 해당 인터페이스 요소의 속성을 변경할 수 있게 하는 것 @IBInspectable var cornerRadius: CGFloat { // 연산 프로퍼티 get { return layer.corn..
-
[iOS] 3주 차 미션 - 화면 전환을 이용한 미니 계산기 만들기iOS/UMC 2022. 10. 8. 00:30
present 방식을 이용해서 viewController 화면전환을 통해 미니 계산기를 만들어봤다! present는 navigation 방식과 다르게 뒤로가기 버튼이 따로 없어서 직접 만들어줘야 한다. // present 생성 present(plusViewController, animated: true) // 뒤로가기 self.dismiss(animated: true) 📌 버튼을 만든 뒤에 dismiss 속성을 부여해주면 된다! 💡 아직 구현하지 못 해서 궁금한 것 1. [다시 계산하기] 버튼을 눌렀을 때 textField에 입력된 값들이 지워진 상태로 만들기 - 생명주기 이론에서 배웠던 걸로 해봐도 present 방식은 화면 위에 겹쳐서 띄우는 방식이라 그런지 지워지지 않았다. 2. ViewContro..
-
[iOS] UMC iOS 세미나 3주 차iOS/UMC 2022. 10. 5. 15:50
오늘 학습한 내용 💡 생명주기(Life Cycle) ✅ view의 생명주기는 왜 탄생했을까? View에서 생명주기는 화면에 보여졌다가 사라지는 주기를 뜻한다. PC의 한 화면에서 하던 작업을 모바일에서는 여러 단계로 분할해서 작업하게 되면서 view의 전환이 많아졌고, view가 전환되는 시점마다 다른 구현을 하기 위해서이다. View Controller의 생명주기는 Scene의 전환과 복귀에 따라 View Controller의 객체의 생성과 소멸이 발생한다. ✅ ViewController의 상태 변화 Appearing Appeared Disappearing Disappeared ViewController가 스크린에 등장하기 시작한 순간부터 등장을 완료하기 직전까지 상태 ViewController가 스크..
-
[iOS] 인스타그램 클론 코딩을 해보자!(2) - 회원가입 액션 연결iOS/project 2022. 10. 3. 12:45
✅ 오늘의 목표 회원가입 화면에서 textfield에 텍스트를 입력하면 콘솔창에 각각 입력된 값을 띄워주기 1️⃣ 유효성 검사 textfield에서 유효한 값이 입력되는 경우 true로 값 변경해주는 코드 작성하기 import UIKit class RegisterViewController: UIViewController { // MARK: - Properties // 유효성 검사 // textfield에서 유효한 값이 입력되는 경우 true로 값 변경 var isValidEmail = false var isValidName = false var isValidNickname = false var isValidPassword = false 2️⃣ textField 연결 // Textfields @IBOutl..