반응형

ios 35

WWDC 2016 - Understanding Swift Performance - (1)

안녕하세요. KataRN입니다. 오늘은 WWDC 2016 - Understanding Swift Performance에 대해 공부한 내용에 대해 적어보려고합니다. 영상주소 - WWDC 2016 - Understanding Swift Performance 자료주소 - Presentation Slides (PDF) 참고 번역 블로그 - https://velog.io/@ictechgy/UnderstandingSwiftPerformance#%EC%9D%BC%EB%B6%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%B6%94%EC%A0%81%ED%95%98%EC%97%AC-swift%EA%B0%80-%EC%9A%B0%EB%A6%AC%EB%A5%BC-%EB%8C%80%EC%8B%A0%ED%95%98..

SWIFT/WWDC 공부 2022.12.15

AutoresizingMask, translatesAutoresizingMaskIntoConstraints 개념

안녕하세요. KataRN입니다. 오늘은 간략하게 AutoresizingMask, translatesAutoresizingMaskIntoConstraints에 대해 알아보겠습니다. 1. AutoresizingMask superview의 bounds가 변경될때 subview의 크기를 어떻게 크기를 재설정 할것인가에 대한 bit mask bit mask: 컴퓨터의 언어인 이진수를 사용하면 연산이 빠른점을 이용해 어떤 정수를 이준수 형태로 표현하여 자료구조로써 사용하는 기법 원리: view의 bounds가 변경되면 subview들을 각 subview의 autoresizing mask에 해당되는 부분을 자동으로 재설정 UIView.AutoresizingMask에 설명된 상수를 결합하여 값을 조정 2. transl..

View크기에 따른 Font Size 변경(sizeToFit, sizeThatFits)

안녕하세요. KataRN입니다. 오늘은 View크기에 따라 글자크기를 변경하는 방법에 대해 알아보려고합니다. 검색을 해보니 크게 2가지 방법이 나왔습니다. 1. sizeToFit - sizeToFit : Text에 맞게 Label의 크기가 조정된다. - sizeToFit을 호출하고 이후에 text를 길게 변경하면 화면의 크기는 고정되어 text가 잘립니다. //사용법 let testLabel = UILabel() testLabel.sizeToFit() 2. sizeThatFits - sizeThatFits : Label의 높이나 너비의 크기를 조정한다. - sizeThatFits는 지정된 크기에 적합한 크기를 계산하여 반환되고 그 크기로 width, heigh를 조정할 수 있습니다. //사용법 let t..

SWIFT/UILabel 2022.10.31

Codable에 대하여(Decodable, Encodable, CodingKey)

안녕하세요. KataRN입니다. 오늘은 Codable에 대해 알아보겠습니다. 애플 공식 문서부터 보시죠. Declaration을 보시면... typealias Codable = Decodable & Encodable 결론이 났군요... Codable은 뭐다? Decodable + Encodable !!! 그렇습니다. Decodable와 Encodable을 합친게 Codable입니다. Encodable & Decodable 프로토콜을 준수하는 프로토콜입니다. Struct, Class, Enum 모두 Codable을 채택할 수 있습니다. 그러면 Encoding와 Decoding를 알아야겠군요... 1. Encoding - 자신을 외부표현(external representation)으로 인코딩 할 수 있는 타..

Result 타입에 대하여...

안녕하세요. KataRN입니다. 오늘은 Result 타입에 대해 알아보겠습니다. Result 타입이 나오게 된 이유를 설명하기에 앞서 Error타입을 선행학습하시면 도움이 될것 같습니다. https://katarnios.tistory.com/80 Error타입부터 try, do, catch까지...(모든건 Result 타입을 위해) 안녕하세요. KataRN입니다. 오늘은 Error 처리부터 try, do, catch에 대하여 알아보겠습니다. (Result타입에 대해 글을 쓰기전에 선행학습이 필요하다 판단하여 글을 쓰게되었습니다.) Swift에서 Error는 Erro katarnios.tistory.com 작업(Task) 중에는 실패할 수 있는 작업이 있습니다. 디스크에 파일을 쓰거나, API를 호출해 네..

Error타입부터 try, do, catch까지...(모든건 Result 타입을 위해)

안녕하세요. KataRN입니다. 오늘은 Error 처리부터 try, do, catch에 대하여 알아보겠습니다. (Result타입에 대해 글을 쓰기전에 선행학습이 필요하다 판단하여 글을 쓰게되었습니다.) Swift에서 Error는 Error 프로토콜을 채용한 타입의 값으로 나타냅니다. 보시면 공식문서에도 적혀있듯이 Error 프로토콜은 요구되는게 하나도 없습니다. 우선 에러타입을 하나 만들겠습니다. enum DivisionError: Error { case dividedByZero } 그리고 Error를 사용하는 방법에 대해 알려드립니다. throw, throws가 있습니다. 두개는 다릅니다. 📍 throw 에러를 발생시키는 키워드입니다.(에러를 던진다 라고 표현합니다.) throw DivisionErro..

Property Wrapper에 대하여

안녕하세요. KataRN입니다. 오늘은 Property Wrapper에 대해 알아보겠습니다. 솔직히 너무 어렵네요 ㅠㅠ 최대한 풀어서 써보겠습니다... 우선 Property Wrapper의 정의는? - 어떤 값이 있으면 이 값을 한 번 감싸서 저장을 위한 로직과 얻어오기 위한 로직을 어느정도 분리해서 반복을 줄여줄 수 있는 방법을 제공하는 속성입니다. 하.. 어렵다 어려워... 다른분들의 글과 똑같지만 다르게...(창의성이 부족하여... 참고하여...)... 예를 들어보겠습니다. 이마트에서 아이스크림을 팝니다. 행사를 해서 천원 이상은 무조건 천원이라고 하네요. 그럼 500원은? 500원이겠죠? 1500은? 1000원! 이걸 코드로 표현하면 아래와 같습니다. struct Emart { //1. 최대 금액..

함수의 종류(인스턴스 메서드, 타입 메서드, instance method, type method)

안녕하세요. KataRN입니다. 오늘은 함수의 종류에 대해 알아보겠습니다. Swift에서 함수는 아래처럼 3가지로 나뉩니다. Instance Method Type Method Static Method Class Method class ExampleClass{ func instanceMethod(){} // 인스턴스 메서드 class func classMethod(){} // 클래스 메서드 (타입 메서드) static func staticMethod(){} // 스태틱 메서드 (타입 메서드) } 보통 저희가 쓰던 함수가 인스턴스 메서드, 앞에 class, static를 붙인 아이들이 타입 메서드입니다. 인스턴스 메서드 (Instance Method) 특정 타입의 인스턴스(클래스, 구조체, 열거형...) 에..

Mutating에 대하여...

안녕하세요. KataRN입니다. 오늘은 Mutating에 대해 알아보겠습니다. 우선순위 힙에 대해 공부하다보니 Mutating가 보여서 정리하게되었습니다. - mutating 클래스는 reference 타입이고 struct와 enum 는 value type입니다. 값 타입의 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없습니다. 만약 수정해야하는 경우 mutating을 붙여주면 됩니다. mutating을 선언한 메서드는 메서드 내에서 프로퍼티를 변경할 수 있고, 메서드가 종료될 때 변경한 모든 내용을 원래 struct에 다시 기록합니다. 또한 메서드는 self property에 새 인스턴스를 할당할 수도 있습니다. mutating 키워드는 해당 메서드가 호출된다면 실제 복사를 해야한다고 알려주는 ..

CGPoint, CGSize, CGRect, Bounds, Frame

안녕하세요. KataRN입니다. 화면을 코드로 구현하다보면 CGPoint, CGSize, CGRect, Bounds, Frame를 자주 보게됩니다. (사실 면접 예상질문에 Bounds, Frame가 있었는데 그밖에 헷갈릴만한 것들도 이번기회에 정리하게 되었습니다.) 차례대로 간단하게 설명해보겠습니다. 우선 CGPoint, CGSize, CGRect 입니다. - CGPoint : 2차원 평면의 (x, y)좌표입니다. iOS 뷰는 왼쪽 상단이 시작지점이며 좌표는 origin(0,0)입니다. CGPoint(x: 0, y: 0) - CGSize : 너비와 높이를 가지는 구조체입니다. 그러므로 사이즈를 갖고있습니다. CGSize(width: 너비, height: 높이) - CGRect : 사각형의 위치와 크기를 ..

반응형