전체 글 (61) 썸네일형 리스트형 GCD - (1) https://dragoner.tistory.com/190 [iOS] iOS개발자 로드맵(Swift) godrm/mobile-developer-roadmap 모바일 개발자 로드맵. Contribute to godrm/mobile-developer-roadmap development by creating an account on GitHub. github.com 이직을 위해 공부를 하다가 iOS개발자 로드맵.. dragoner.tistory.com 글을 보며 공부 로드맵을 따라 공부하던중 초보시절 공부를 했지만 제대로 이해하지 못하고 넘어간 GCD에 대해 다시 한번 공부를 해볼려고한다. GCD 란? GCD는 멀티코어 시스템에서 동시성 실행을 제공하는 에플에서 제공하는 프로그래밍 언어 요소, 런타임 라이브러.. MVVM RxSwift , Combine 지난글에 이어 https://coding-rengar.tistory.com/23 Swift MVVM 1. MVVM 1. 개요 Model-View-ViewModel(MVVM) 패턴은 UI 디자인 패턴입니다. 그것은 MV라고 알려진 더 큰 패턴 모음중에 하나이며, Model View Controller(MVC), Model View Present(MVP), 그외 여러가지가 포함됩.. coding-rengar.tistory.com 오늘도 MVVM을 공부를 진행해볼려고한다. 지난번에는 MVVM을 이용해 코드를 만들고 Bindging객체도 직접 만들어서 사용했다 이번에는 코드를 개선하는데 Bindging 객체를 직접 구현하지않고 사람들이 많이 사용하는 RxSwift 그리고 IOS13에서 나온 Combine 을 이.. Swift MVVM 1. MVVM 1. 개요 Model-View-ViewModel(MVVM) 패턴은 UI 디자인 패턴입니다. 그것은 MV라고 알려진 더 큰 패턴 모음중에 하나이며, Model View Controller(MVC), Model View Present(MVP), 그외 여러가지가 포함됩니다. 이러한 각 패턴은 개발과 테스트가 더 쉬운 앱을 만들기 위해 비즈니스로직으로 부터 UI 로직을 분리합니다. MVC 패턴은 UI를 앱의 상태를 표현하는 Model로 분리하며, View는 UI 컨트롤로 구성되어 있고, Controller는 사용자 상호작용을 처리하고 모델을 적절하게 업데이트 합니다. MVC 패턴의 가장 큰 문제점은 기능이 Controller에 많이 몰려있기에 Controller가 비대해진 다는 단점이 있습니다. .. Protocol Oriented Programming(POP) - With RxSwift Mvvm https://developer.apple.com/videos/play/wwdc2015/408/ Protocol-Oriented Programming in Swift - WWDC15 - Videos - Apple Developer At the heart of Swift's design are two incredibly powerful ideas: protocol-oriented programming and first class value semantics. Each of... developer.apple.com Swift의 프로토콜 지향 프로그래밍 Swift 디자인의 핵심에는 프로토콜 지향 프로그래밍과 일급 가치 의미론이라는 두 가지 매우 강력한 아이디어가 있습니다. 이러한 각 개념은 예측 가능성, 성능.. 코딩테스트 연습 2020 KAKAO BLIND RECRUITMENT 문자열 압축 Swift func solution(_ s:String) -> Int { //s의 길이는 1 이상 1,000 이하입니다. //가장큰 아웃풋숫자인 1000을 디폴트로 줌 var outputInt : Int = 1000 //swift String 을 처리하기 복잡하기에 String 배열로 변경 var stringArray : [String] = s.map{ String($0) } //글자갯수제한 if(s.count > 1000){ return 0 //1글자짜리 텍스트 따로처리 }else if(s.count == 1){ return 1 }else{ //나눌수 있는 최대 크기는 string의 크기의 절반 이다. for count in (1...stringArray.count / 2) { var stringCount : [.. 코딩테스트 연습2020 KAKAO BLIND RECRUITMENT괄호 변환 Swift import UIKit func solution(_ p:String) -> String { return finalFunction(p: p) } func makeUV(item :String) -> (String , String) { var count1 : Int = 0 var count2 : Int = 0 //균형잡힌 괄호 문자열 을 찾기 위해 앞에서 부터 ( 수를 찾음 for char in item { if(char == "("){ count1 += 1 }else{ count2 += 1 } // (의 수와 ) 수가 같다면 균형잡힌 괄호 문자열이기에 for 문을 멈추고 // U , V 를 배출 if(count1 == count2){ break } } //앞에서 부터 ( 의갯수 와 ) 의 갯수 에서 inde.. 코딩테스트 - 해시 - 위장 Swift func solution(_ clothes:[[String]]) -> Int { //곱셈을 진행할 예정이라 기본값 1을 준다. var multipleLockCount : Int = 1 //옷종류와 해당 옷의 몇개의 옷종류가 있는지 저장하는 딕셔너리 var clothCounts : [String : Int] = [:] //리스트를 받으면 //0번은 옷의 이름 1번은 옷의 종류이다 for item in clothes { //옷의 종류가 이미 포함되어있다면 //옷의 종류를 늘리지 않고 옷 종류의 갯수를 올리고 if(clothCounts.contains{ $0.key == item[1] }){ simpleLockCount += 1 clothCounts[item[1]]! += 1 }else{ //처음 등록된 옷의.. 2018 KAKAO BLIND RECRUITMENT 파일명 정렬 Swift Swift로 풀어보는 파일명 정렬 import UIKit typealias HNT = (String , String , String) //파일을 HEAD , NUMBER , TAIL 부분으로 나눠주는 로직 // func HEAD_NUMBER_TAIL_SLICE(_ item : String) -> HNT{ var Head : String = "" var Number : String = "" var HeadIndex : Int = 0 var NumberIndex : Int = 0 var Tail : String = "" //꼬리부분을 알아내기 위해 사용 let LetterPlus : [String] = [" ",".","-"] //받아온 String 을 배열 로 변경 let Name = item.map { .. 이전 1 ··· 3 4 5 6 7 8 다음