본문 바로가기
반응형

Protocol3

Swift함수, 초 단위 값을 hh:mm으로 표현하기(with CustomStringConvertible) 오늘은 스위프트의 함수를 하나 정리해서 올려 두고자 한다. 어제 UI작업을 하던 중, 서버로부터 받은 7200초라는 값을 시:분으로 표현을 하고자 괜찮은 방법이 있는지 검색을 해보니 적당한 extension과 protocol이 있어 정리를 해 둔다. CustomStringConvertible 이란 프로토콜은 사용자기 지정한 문자열로 변환이 가능한 프로토콜이다. 이 프로토콜을 정의하고 시와 분으로 나눠 사용자 정의 서식 문자열로 리턴하면 깔끔하게 사용할 수 있다. public struct TimeParts: CustomStringConvertible { public var hours = 0 public var minutes = 0 public var description: String { return NS.. 2022. 6. 9.
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.
Objective-C 프로토콜 정의 Objective-C 프로토콜 정의 아이폰앱 개발하면서 가장 유용하게 사용하는 것 중 하나가 바로 '프로토콜'이 아닌가 싶다. delegate를 통한 대리자에게 처리를 넘기는 방식인데 잘 만들어 두면 재미가 쏠쏠하다. '프로토콜 정의' 는 메서드만 정의하는 즉, 인터페이스를 정의하는 기능이고 이 인터페이스를 구현하는 쪽은 프로토콜을 따르는 쪽에서 구현해서 처리를 하면 된다. 프로토콜의 메서드는 @required와 @optional 이 있고, 프로토콜을 따른다고 선언한 곳에서는 @required로 선언된 메서드는 반드시 구현을 해야만 한다고 알고 있다. ㅎ 프로토콜이 클래스와 다른 점은 클래스는 하나의 틀이 되고 프로토콜은 틀이 아닌 일련의 메서드를 선언한다는 점이 다르다. 정의 하는 방법은 다음과 같다... 2017. 11. 1.
반응형