반응형 미스터 후1575 @objc Swift로 된? 진행했던 예전의 소스를 훑어보면서 눈에 띄면서 완전히 이해가 되지 않는 부분들을 파고 파고 파고 파고 들어가보기로 했는데 그중 무심하게 사용했던 @objc에 대해서 한번 찾아보니 많은 내용은 각설하고 내가 이해하고 싶은 것만 정리를 하자면 다음과 같다. @objc의 역할은 Objective-C측에서 Swift코드의 심볼을 파악 할 수 있게 해주는 용도. 즉, Swift프로젝트에서 Objective-C모듈을 병행 사용한다면, 반대로 Objective-C 프로젝트에서 Swift모듈을 병행사용할 경우 해당 메서드가 Objective-C 심볼 코드라는 것을 명시하기 위해 사용한다고 한다. 그런데 이럴 경우 바이너리의 용량이 커지는 단점이 있으니 최근에는 @objc보다는 @objcMembers라.. 2020. 11. 12. Swift의 where절 SQL에 익숙한 사람들은 where절을 아마도 그렇게? 생각할 것이다. 그래서 선입관이나 고정관념은 무서운 것이다. 항상 조심하고 경계하자. 책에 의하면 Swift으 where절은 특정 패턴과 결합하여 조건을 추가하는 역할을 한다고 되어 있다. 어떤 조건을 더 추가하고 싶을 때나 특정 타입에 제한을 두고 싶을 때 다양한 용도로 사용할 수 있다. 주 용도는 다음과 같다. 패턴과 결합하여 조건 추가 타입에 대한 제약 추가 if let index = navigationController?.viewControllers.index(where: { $0.isKind(of: ListViewController.self) }) { self.navigationController?.viewControllers.insert(.. 2020. 11. 12. Swift ForEach 사용 예 별 내용이 있는건 아니지만, 시간 날 때마다 한번씩 훑어 보면서 머리속에 인식시키는 가장 좋은 방법(나에게만) 정리하면서 포스팅 하기, 그런데 살짝 고민스러운게 내용이 너무 부실한데... forEach, navigationController의 viewControllers 수 만큼 순환하면서 목적하는 바를 기술한다. @IBAction func onShowList() { navigationController?.viewControllers.forEach { if $0.isKind(of: ConsentLetterListViewController.self) { navigationController?.popToViewController($0, animated: true) return } } } 2020. 11. 12. 맥북 [App Store] 응답없음 해결하기 for 카타리나 이번에 새로 맥을 셋팅하면서 나온 이슈. 2013년 맥북이다. 맥북 카타리나를 설치하고 나니 앱스토어가 응답없음으로 나오는데 참 난감하다. 해결법이나 방법을 제시하지 않는 불친철한 맥북. 그래서 검색을 해보니 역시 똑같은 사항을 경험하는 사람들이 있었다. 방법은 간단하다. 다음 화면을 참조한다. 키체인접근 > 이라는 곳으로 이동해야한다. 이 키체인접근은 응용프로그램 폴더안에 > 유틸리티 안에 > 키체인 접근을 실행한 후 키체인 접금 메뉴의 환경설정 메뉴로 들어가면 "나의 기본 키페인 재설정" 메뉴를 통해 재설정을 한 후 앱 스토어를 구동하면 정상적으로 되었다. 나참.... 이런 황당무개한 일이... 끝. 2020. 11. 11. OCP, 추이 종속성(transitive dependency) 추이 종속성이란 클래스 A가 클래스 B를 의존하고, 다시 클래스 B가 클래스 C에 의존한다면, 클래스 A는 클래스 C에 의존하게 된다. 이를 추이 종속성이라고 부르며 크래스 이외의 소프트웨어의 모든 엔티티(패키지, 컴포넌트 등)에도 동일하게 적용된다. 추이 종속성을 가지게 되면, 소프트웨어 엔티티는 '자신이 직접 사용하지 않는 요소에는 절대로 의존해서는 안된다' 는 소프트웨어 원칙을 위반하게 된다. 만약 클래스 의존성이 순환적(cyclic)이라면, 모든 클래스가 서로 의존하게 되는 문제가 있다. OCP는 시스템의 아키텍처를 떠받치는 원동력 중 하나다. OCP의 목표는 시스템을 확장하기 쉬운 동시에 변경으로 인해 시스템이 너무 많은 영향을 받지 않도록 하는 데 있다. 이러한 목표를 달성하려면 시스템을 컴포.. 2020. 11. 3. 퍼사드 패턴(Facade Pattern) 어쩌다 보니 내 수준보다 더 높고 높은 책을 읽고 있다. '클린 아키텍처' 라는 책인데 매번 '아키텍처'라는 단어는 사용하면서도 정작 제대로 알고 사용은 하는건지 의문이 들 때가 있다. 따라서 이번에는 확실히 개념을 잡고 넘어가리라는 마음을 먹고 읽지만 이내 졸립고 따분하고 어렵고 그렇다. 3부 설계 원칙의 '단일 책임 원칙' 부분을 읽으면서 제시된 해결책으로 '퍼사드 패턴'을 이해하고 넘어가자는 의도에서 책과 구글링을 통해 개념을 익혀보기로 했다. 실제 업무중에 적용한 사례가 있나 곰곰히 떠올려보지만 기억이 잘 나지 않는다. 또 어디에 어떻게 이 패턴을 적용해볼까도 고민했지만 막연하기만한데... 퍼사드 패턴은 다음과 같이 정의된다. /* * 퍼사드(Facade)란 프랑스어 Facade에서 유래된 단어로.. 2020. 11. 3. 이전 1 ··· 48 49 50 51 52 53 54 ··· 263 다음 반응형