SESAC

SeSAC

8.24 ~ 8.25 TIL(SeSAC iOS 3기)

Generic 타입에 유연하게 대응하기 위한 요소. 제네릭으로 구현한 타입과 기능은 재사용하기 쉽고 코드의 중복도 줄일 수 있기 때문에 깔끔하고 추상적인 표현이 가능. T: Type Parameters로 플레이스 홀더와 같은 역할을 함. 타입의 종류는 알려주지 않지만 특정한 타입이라는 것은 알려줌. T가 아닌 다른 문자열을 작성해도 되지만, 일반적으로는 UpperCased 또는 T, U 등을 사용함. 🔥 만약 함수를 오버로딩하는데 제네릭을 사용한 경우, 제네릭으로 구현한 함수보다 타입이 명확한 함수가 우선순위가 더 높다. 🔥 프로토콜에서 제네릭을 사용하려면 associated type 을 사용해야 한다. protocol GenericExample { associatedtype T var variable:..

SeSAC

8.23 TIL(SeSAC iOS 3기), MapKit + frozen Enumeration

MapKit MKMapView를 활용한 맵뷰 구현하기 1. import MapKit 2. MKMapView 인스턴스 생성 3. MKMapView의 region과 annotation 설정 center: 맵뷰의 중심이 되는 좌표. latitudinalMeters, longitudinalMeters: 축적. removeAnnotations([Annotation]): 맵뷰의 모든 Annotation을 삭제. extension MapViewController { func configureMapView() { if let coordinate = LocationManager.shared.currenCoordinate { let region = MKCoordinateRegion( center: coordinate, l..

SeSAC

8.23 TIL(SeSAC iOS 3기), CoreLocation

CoreLocation CLLocation을 활용한 위치정보 받아오기 import CoreLocation CLLocationManager() : 위치에 대한 대부분의 로직을 담당하는 매니저 객체를 생성. CLLocationManagerDelegate 프로토콜 채택 및 기능 구현. didUpdateLocations: 사용자의 위치를 성공적으로 가져온 경우, 위치 업데이트 시점마다 호출됨. didFailWithError: 사용자의 위치를 가져오지 못한 경우. locationManagerDidChangeAuthorization: 사용자의 권한 상태가 바뀌면 알려줌(iOS14+, 14 이전은 didChangeAuthorization) locationManager.delegate = self: 위치 프로토콜 de..

SeSAC

8.21 ~ 8.22 TIL(SeSAC iOS 3기)

IBInspectable과 IBDesignable IBInspectable Interface Builder에 해당 값의 정보를 보여줌 final class CustomButton: UIButton { @IBInspectable var cornerRadius: CGFloat { get { return layer.cornerRadius } set { layer.cornerRadius = newValue } } } IBDesignable 컴파일 타임에 InterfaceBuilder에서 설정한 속성이 스토리보드에 반영 import UIKit @IBDesignable final class CustomButton: UIButton { @IBInspectable var cornerRadius: CGFloat { ge..

SeSAC

8.14 ~ 8.18 TIL

1. Enum과 Stored Property Enums must not contain storde properties 열거형에서 저장 프로퍼티를 선언할 경우 다음과 같은 에러가 발생한다. 열거형은 컴파일 타임에 로드되므로 인스턴스를 생성할 수 없기 때문에, 저장 프로퍼티는 열거형 내에서 선언할 수 없다. 연산 프로퍼티는 값을 저장하지 않으므로 열거형 내에서 선언이 가능하다. 인스턴스 연산 프로퍼티는 인스턴스 프로퍼티만, 타입 연산 프로퍼티는 타입 프로퍼티만 사용이 가능하다. enum AAA: String, CaseIterable { static let baseURL = "https://www.naver.com" case aa case bb case cc // test: 인스턴스 연산 프로퍼티 -> 값을 ..

SeSAC

SeSAC iOS 3기 시작

2023년 7월 17일 부터 시작하는 'iOS 앱 개발자 데뷔 과정 PLUS'에 참여하게 되었습니다. 목표 조기취업! iOS 기본기와 개발자 역량 키우기(레퍼런스 정리하기) 취업을 위한 코딩테스트 준비(풀이는 깃헙에, 1일 1커밋) CS 개념과 면접 준비(운영체제, 자료구조, 데이터베이스) wkWebView, Widget, Live Activity 등 미뤄왔던 기술 공부 개인 앱 출시! 무엇보다도 주도적으로 해결하고 성장할 수 있는 개발자의 역량, 마인드셋을 키우기🔥 새싹을 수료하고 나서도, 취업을 하고 나서도 항상 앞으로 나아가기🏃‍♂️ 새싹에서의 6개월을 통해 큰 전환점을 맞이 할 수 있도록 파이팅🙆‍♂️

예스코치
'SESAC' 태그의 글 목록