반응형 프로그래밍304 Xcode Provisioning Profile 삭제 참 다양한 이슈가 발생한다. 여튼, 프로젝트 앱의 프로비저닝이 여러개 발행이 되면서 특정 프로비저닝 파일에서 내 단말의 UDID가 누락된 상황, 빌드를 하니 오류가 발생했다. 인터넷 검색을 통해 찾았지만, 내 블로그에도 기록을 해 둔다. cd ~/Library/MobileDevice/Provisioning Profiles/ 폴더로 이동 한다음, 프로비저닝을 다 지운 다음 새로 넣으면 된다. 끝. 2021. 8. 27. UIViewController를 이용한 Bottom Popup만들기 요즘 신규로 앱을 만들거나 리뉴얼을 하는 앱들에게 많은 영향을 주는 대표적인 앱이 토스 또는 카카오뱅크인듯. 하단에서 스르르 하고 올라오는 바텀팝업(Bottom Popup)이 인기를 끌고 있다. 현재 진행중인 프로젝트에서도 대부분 사용자 선택이나 약관들을 이 팝업을 통해 노출하고 있다. 어제 디자인팀에서 새롭게 추가된 Bottom Popup을 제시했다. 날짜선택 피커뷰를 바텀팝업형태로 제작을 해 달라는 것. 프로젝트팀 다른 멤버가 이미 만들어놓은 바텀팝업을 따라해서 만들었는데 영 이상하길래 그 차이가 뭔가? 했더니 UIViewController의 Transition Type과 Presentation의 차이때문에 그런 것이다. 바텀팝업은 일반적으로 UIViewController에서 원하는 모양대로 만들면 .. 2021. 8. 25. Swift 패턴 이야기- 빌더 패턴(builder) 빌더 패턴은 복잡한 객체의 생성을 도우면서 어떻게 이러한 객체들을 생성하는지에 대한 프로세스를 강제한다. 일반적으로 빌더 패턴에서는 복잡한 타입으로부터 생성 로직을 분리하며, 다른 타입을 추가한다. 빌더 패턴은 타입의 서로 다른 결과물을 생성하는 데 동일한 생성 프로세스를 사용하게 해준다. 빌더 패턴을 구현하는데 사용할 수 있는 방법에는 두 가지가 있다. 첫 번째 방법은 구체적인 방법으로, 원래의 복잡한 객체를 설정하는 정보를 가진 여러 가지의 빌더 타입을 갖는 방식이다. 두 번째 방법은 모든 설정 가능한 옵션을 기본 값으로 설장하는 단일 빌더 타입을 사용해 빌더 패턴을 구현하며 필요하다면 옵션 값을 변경하는 방식이다. 빌더 패턴 구현 struct BugerOld { var name: String var.. 2021. 7. 21. Swift 패턴 이야기- 싱글턴 패턴(singleton) 싱글턴 패턴은 애플리케이션 생애 동안 클래스 인스턴스화를 단일 인스턴스로 제한한다. 이 패턴은 애플리케이션에서 행위를 조직화하기 위해 하나의 인스턴스만 필요ㅛ로 하는 경우에 매우 유용하다. 애플리케이션이 블루투스로 원격 장치와 통신하면서 애플리케이션 곳곳에서 연결을 유지하고 싶을 경우가 싱글턴을 사용하는 좋은 예가 된다. 누군가는 연결 클래스의 인스턴스를 한 페이지에서 다음 페이지로 전달해 줄 수 있다. 싱글턴 패턴은 참조 타입에서만 구현할 수 있다. 싱글턴 패턴 구현하기 class MySingleton { static let sharedInstance == MySingleton() var number = 0 private init() {} } 싱글턴 사용 예 var singleA = MySingleto.. 2021. 7. 21. Swift 제네릭 함수, 제네릭 타입 제네릭은 중복을 피하면서 매우 유연하고 재사용이 가능한 코드를 작성할 수 있게 해 준다. 스위프트 언어에서 제네릭은 옵셔널의 예로 사용 된다. 옵셔널 타입은 두 개의 사용 가능한 값인 None과 Som(T)로 이뤄진 열거형으로 정의돼 있으며, 여기서 T는 적절한 타입의 연관 타입을 나타낸다. 옵셔널에 nil을 대입하면 None 값을 갖게 되고, 옵셔널에 어떠한 값을 대입하면 적절한 타입의 연관 값을 갖는 Some 값을 갖게 될 것이다. enum Optional { case None case Some(T) } T는 옵셔널과 연관된 타입, 플레이스홀더인 T는 제네릭을 정의하는데 사용한다. 제네릭을 사용해 중복을 피하는 예는 다음과 같다. 두 변수의 값을 교환하는 함수를 만들고자 할 때 여러 타입(Intege.. 2021. 7. 15. Swift Protocol Extension 예제와 사용 절차 책의 예제 코드를 기반으로 프로토콜을 선언하고 확장하며, 프로토콜을 따르는 타입(클래스, 구조체)에서 사용하기까지에 대해 간단하게 나열을 한다. protocol TextValidation { var regExFindMatchString: String {get} var validationMessage: String {get} } protocol을 정의하면서 프로퍼티 2개를 정의했다. 다음은 프로토콜을 확장하면서 1개의 연산프로퍼티와 2개의 메서드를 확장(추가) 정의한다. extension TextValidation { var regExMatchingString: String { get { return regExFindMatchString + "$" } } func validateString(str: Str.. 2021. 7. 14. 이전 1 ··· 7 8 9 10 11 12 13 ··· 51 다음 반응형