전체 글
-
Swinject 사용, DI란?Swift 2021. 6. 30. 13:20
DI : Dependency Injection 즉, 의존성 주입. 객체 자체가 아니라 Freamework에 의해 객체의 의존성이 주입되는 설계 패턴이다. 즉 디자인 패턴중에 하나인셈. * 그걸 Swift에서는 어떤식으로 적용하고, 활용할 수 있을까? 기본 내용을 알고 있다면 바로 아래쪽 Swinject로 이동하길 바란다... 의존성 먼저, 짧게 의존성이란 무엇일까? final class AClass { var test: Int = 0 } final class BClass { var instance = AClass() } // B에서 A를 내부 변수로 사용한다? -> B틀래스는 A클래스와 의존관계가 생깁니다. 위의 예제는 B에 A에대한 의존 관계가 생기는것이다. 주입 바로 내부가 아닌 외부에서 객체를 생성..
-
Git 기초 remote, clone 안될때Git 2021. 6. 30. 10:14
우선 아래가 기초입니다. 이대로 하면 remote / clone 하는것은 문제가 없을거에요...! 내 초기 설정이 보고 싶으면 git config -l 로 확인할 수 있어요. ++ 이전의 이력이 남아서 remote등 초기 설정이 오류가 날때가 있다. 그때 git remote -v git remote remove origin ~~ git remote set-url ~~~ // 안된다? 그러면 아래 시도 git remote add origin ~~ git remote -v // 확인해보기...! git push -u origin master // 이전에 가지고 있던 브랜치를 올리려고 할때 EOF 에러가 난다? 그러면 remote를 다시해보고 push -u 시도
-
xcode 오류 nw_connection_copy_protocol_metadata [C20] Client called nw_connection_copy_protocol_metadata on unconnected nw_connectionSwift 2021. 6. 29. 14:05
nw_connection_copy_protocol_metadata [C20] Client called nw_connection_copy_protocol_metadata on unconnected nw_connection 위 로그는 찾아보니, 시뮬레이터에서 출력하는 로그고 아래와 같이 하면, 로그가 뜨지 않는다..! Edit Scheme에서, Run 모드일때 argument로 OS_ACTIVITY_MODE 를 선언하고 값을 disable로 선언한다.
-
Rxswift Debounce / ThrottleRxSwift 2021. 6. 29. 10:07
Observable 필터링 소스 Observable에서 선택적으로 항목을 배출하는 연산자들 Debounce Debounce — Observable의 시간 흐름이 지속되는 상태에서 다른 항목들은 배출하지 않고 특정 시간 마다 그 시점에 존재하는 항목 하나를 Observable로부터 배출한다 특정시간이 끝나서 가장 최근의 값을 방출한다. - 사용예제 : 사용자가 버튼을 폭풍 누르다가 더이상 누르지 않고, 지정한 시간이 지날때 가장 마지막 클릭 이벤트를 준다. (클릭 이벤트 말고도 이벤트가 쏟아지다가 마지막꺼를 해야되는경우 아주 좋은듯) 자동완성 연관 검색어 노출 throttle 이벤트가 처음 방출되면 타이머동안 어떤 이벤트도 방출되지 않는다. - 사용예제 : 사용자가 버튼을 폭풍 누를때 여러번의 이벤트를 일..
-
Rxswift (map, flatmap, compactmap) 정리RxSwift 2021. 6. 28. 10:56
이 차이는 잘 알아두는게 좋다 flatmap 먼저 flatmap이 두가지가 있었다... 아래가 Deprecated 된거고, 위가 사용하는 아이인데요 뭐가 다른지 보겠습니다. https://developer.apple.com/documentation/swift/sequence/2905332-flatmap https://developer.apple.com/documentation/swift/sequence/2907182-flatmap let numbers = [1, 2, 3, 4] let mapped = numbers.map { Array(repeating: $0, count: $0) } // [[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]] let flatMapped = numbers...
-
Rxswift (flatMap, flatMapFirst, flatMapLatest)RxSwift 2021. 6. 24. 10:29
해당 내용은 http://reactivex.io/documentation/operators.html#transforming 를 참고하면 되는데 요약하자면, Observable 항목 변환 라고 나와있다. 즉 위와 같은 내용으로 변환해준다고 할 수 있다. 그중에서 FlatMap observable에서 발행한 아이템을 다른 Observable로 만들며, 해당 아이템을 발행하는 모습이라고 볼 수 있다. flatMapFirst flatMap과 마찬가지지만, 새로운 Observable은 동작이 다 끝날때까지 새로 발행된 아이템을 무시한다. 즉 여러개의 Observable이 return 될때 시작한 Observable이 아직 발행이 끝나지 않으면 그 후의 input은 무시되는 셈이다. flatMapLatest fla..
-
M1 pod install 오류iOS 2021. 6. 19. 19:14
* M1을 사용하다가 신기한 일이 발생 아래와 같이 신기한 에러가 출력 된다 인터넷에 위의 오류를 쳐보니 정말 M1이라 문제가 발생한다고 하질 않는가...? (검색은 : https://github.com/CocoaPods/CocoaPods/search?q=dlopen%28%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.3%2Flib%2Fffi_c.bundle%2C+0x0009%29%3A+missing+compatible+arch+in+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.3%2Flib%2Fffi_c.bundle+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.3%..