SceneDelegate란? iOS13 이후 UI생명주기에 관한 이벤트를 처리하기 위해 사용하는 객체 입니다. 화면에 무엇을 보여줄지 관리하는 역할을 하며, iOS 13부터 window의 개념이 scene으로 대체 되었습니다. why? 아이패드와 같이 큰 화면의 하나의 앱에서 2개 이상의 화면을 보여주기 위해 Scene 개념이 도입 되었습니다. SceneDelegate Methods 메소드 (펼쳐보기) 더보기 scene(_: willConnectTo: option:) application(_: didFinishLaunchingWithOptions:) 메소드와 유사합니다. UISceneSession LifeCycle 에서 가장 처음 불리는 메소드로 첫 content view, 새로운 UIWindow를 생성..
https://leetcode.com/explore/learn/card/fun-with-arrays/521/introduction/3238/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 내 풀이 func findMaxConsecutiveOnes(_ nums: [Int]) -> Int { var count = 0 var saveOneCount: [In..
for문을 돌리다보면 index가 필요할 때가 있습니다. 이럴 때 Swift 에서 제공하는 메소드 enumerated() 를 사용하면 되는데요!! 오늘은 enumerated 메소드에 대해 공부해 보려고 해요 ! 공식문서 (n, x)와 같이 튜플 형태로된 쌍을 return 한다고 합니다. n은 0부터 연이어 시작되는 int 형식 x는 각 요소 별로 차례대로 시작 쉽게말해 (index, value) 라고 생각하시면 돼요! 예제를 보겠습니다 for (index, value) in "Swift".enumerated() { print("\(index): \(value)") } // 0: S // 1: w // 2: i // 3: f // 4: t "Swift" 라는 문자열을 하나씩 뜯어 print 해본 결과 입니..
MVC Model, View, Controller 로 나누어 설계한 아키텍처 패턴 입니다. 구조 MVC의 구조를 그림으로 나타내면 아래와 같습니다. Model : 앱에 사용되는 데이터와 데이터를 가공하는 부분 입니다. View : 사용자에게 보여지는 화면 부분(UI) 입니다. Controller : 사용자의 입력(Action)을 받아 처리하는 부분 입니다. 동작 순서 MVC의 흐름은 아래와 같습니다. 모든 입력(Action)은 Controller에 전달 및 처리가 됩니다. Controller는 사용자의 Action을 확인 후, Model을 업데이트 합니다. Controller는 Model을 나타내줄 View를 선택합니다. View는 Model을 이용해 화면을 나타냅니다. View가 업데이트 되는 방법 V..
https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr 내 풀이 func solution(_ n:Int) -> Int { // TODO: [x] 약수들을 담을 배열 var aliquotArr: [Int] = [] // TODO: [x] 약수 구하기 for num1 in 0...n { for num2 in 0...n { if num1 * num2 == n { ali..
처음으로 프로그래머스에서 과제테스트를 봤었는데 제출 방법을 몰라 제출도 못했... 지금이라도 알았으니 됐지.. 무튼 !! 오늘은 앱 개발을 하면서 무조건 해보는 TableView를 코드로 작성해 보겠습니다!! 결과 TableView를 세팅할때는 아래 6가지를 구현해주시면 됩니다! ToDo 1. constraints 2. set delegate 3. make tableViewCell 4. register 5. row height 6. show data 1. constraints 먼저 tableView가 어느위치에 있을지 잡아줍니다. 저는 화면 전체를 꽉 채우도록 구현했어요. class TableViewController: UIViewController { var tableView = UITableView(..
https://programmers.co.kr/learn/courses/30/lessons/12948 코딩테스트 연습 - 핸드폰 번호 가리기 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자 programmers.co.kr 내 풀이 func solution(_ phone_number:String) -> String { var numberArr = [Character]() var frontNumber: String = "" var lastNumber: String = "" // TODO: [x] 전체번호 *로 바꾸기 for _ in phone_number { ..
사용자가 textfield에 입력한 값을 저장하는 기능에서 좋은 피드백을 받았습니다. 문장, 단어 앞 뒤에 공백이 있을때도 그대로 등록이 되는데 잘라줄순 없나요 ? 어... 역시 찾아보니까 있었어요 오늘 해볼건 이겁니다! 앞에 공백이 많이 띄워져있는데도 공백을 없애고 String만 나오게 해볼거에요! 물론 뒷 공백도 잘라줍니다. (글자 사이의 공백은 유지시켜줘요!) 공식문서 trimmingCharacters(in:) 이라는 메소드를 사용해서 in: 이 갖고 있는 프로퍼티중에 .whitespaces를 선택합니다. 저는 아래와 같이 사용했어요 extension UITextFieldPlaceholderViewController: UITextFieldDelegate { func textFieldShouldRet..
실패 가능한 초기자 (Failable Initializers) 초기화 과정중 실패할 가능성이 있는 초기자를 init? 키워드를 사용해 표시할 수 있습니다. NOTE 실패가능 초기자는 반환값으로 옵셔널 값을 생성합니다. 초기화에 실패하는 부분에서 return nil 을 작성해 초기화가 실패했다는걸 나타내줍니다. 비록 초기화가 실패했을때 return nil 을 써주지만, 성공했을 경우엔 return 키워드를 사용하지 않습니다. 아래는 실패 가능 초기자 Int(exactly:)를 사용한 예제 입니다. 알고가자 Int(exactly:) - 소수점 값이 0이면 정수만 추출하고, 소수점 값이 있으면 nil을 출력합니다. ex) Int(exactly: 2.5) -> nil Int(exactly: 2.0) -> 2 ..
GCD Operation - 간단한 일 - 메소드 위주 사용하는 작업 - 복잡한 일 - 데이터와 기능을 캡슐화한 객체 취소 / 순서지정 / 일시정지 (상태추적) Operation • Single-Shot-Object 인스턴스화 → 작업을 한번만 실행가능하게 합니다 동일한 작업을 반복해야 하는 경우 매번 새로운 1인스턴스를 생성해야 합니다. • 기본적으로 sync(동기)로 실행합니다. • 동일한 작업을 반복해야 하는 경우 매번 새로운 인스턴스를 생성해야 합니다. Operation 의 고유기능 취소 순서지정 (의존성) 상태 체크 (state machine) KVO notifications Qos 수준 우선순위 고려 completionBlock 제공 completion closure 내장 사용방법 input,..
- Total
- Today
- Yesterday
- Combine: Asynchronous Programming with Swift
- Swift 내림차순
- Swift 프로그래머스
- 2023년 회고
- Swift final
- Swift Leetcode
- CS 네트워크
- Class
- Swift Error Handling
- Swift joined
- Swift 알고리즘
- Swift RIBs
- iOS error
- 원티드 프리온보딩
- Swift ModernRIBs
- RIBs tutorial
- swift protocol
- Swift inout
- ios
- swift reduce
- removeLast()
- swift property
- swift (programmers)
- Swift
- RTCCameraVideoCapturer
- swift 고차함수
- Swift 프로퍼티
- swift programmers
- Swift joined()
- Swift init
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |