iOS_UI+Ex (3) 썸네일형 리스트형 스토리보드를 활용한 프로젝트에서의 Dependency Injection 오늘 정리해 볼 내용은 인터페이스 빌더(xib)를 활용하지 않고, 스토리보드를 사용한 프로젝트에서의 의존성 주입(Dependency Injection)에 대해서 정리해보자 한다. 의존성 주입은 크게 3가지 방식이 있고, 다음과 같다. 1. property를 활용하는 방식 2. Initializer를 활용하는 방식 3. method를 활용하는 방식 3번의 방식은 개인적으로 가독성이 떨어진다고 생각하여 주로 1번과 2번의 방식을 사용하고 있으며, 그 중에서도 2번 방식을 즐겨 사용하여 개발하였다. 최근 들어간 프로젝트에서 그간의 프로젝트에서는 인터페이스 빌더(xib)를 통해 개발하였다면, 이번 프로젝트에서는 스토리보드를 활용하여 개발이 되어있어서 이 부분에서 다른 ViewController를 호출하는 방식과.. UIFont 쉽게 가져다 쓰기(공통으로 빼놓기) 커스텀 서체를 사용하고 싶을때 공통으로 빼놓고 쉽게 쓸수 있는 코드를 정리해놓는다. extension UIFont { enum NotoSansStyle: String, CustomStringConvertible { case Regular case Medium case Bold var description: String { return "NotoSansKR-\(rawValue)" /* switch self { case .Regular: return "NotoSansKR-Regular" case .Medium: return "NotoSansKR-Medium" case .Bold: return "NotoSansKR-Bold" } */ } } static func noto(_ style: NotoSansStyl.. UIColor : hexString To UIColor 퍼블리셔나 디자이너들이 네이티브 화면의 UI를 전달해주면서 색상을 RGB 값으로 친절하게 CGFloat 값을 알려주는 경우도 있지만 #ffffff 등의 HexCode로만 명명해놓은 경우 매번 RGB 값을 요청하는 것이 쉽지많은 않다. (눈치보임 ㅎㅎ) 그럴때 이 함수면 만능 해결!! static func hexStringToUIColor(_ hex: String) -> UIColor { var cString: String = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased() if cString.hasPrefix("#") { cString.remove(at: cString.startIndex) } if (cString.count) != 6 .. 이전 1 다음