Today I Learned 26

코드로 오토레이아웃 설정하기 - TIL

코드로 오토레이아웃을 잡는 방법 일단 코드로 버튼을 추가해 준다. VC안에 아래와 같은 코드를 추가해준다. private let emailLabel: UILabel = { let label = UILabel() label.text = "이메일입력" label.font = UIFont.systemFont(ofSize: 18) label.textColor = .white return label }() 아래와 같이 func를 만들어주 오토레이아웃을 설정해준다 func makeUI(){ emailLabel.translatesAutoresizingMaskIntoConstraints = false emailLabel.leadingAnchor.constraint(equalTo: view.leadingAnchor, c..

Today I Learned 2023.08.25

UserDefaults - TIL

UserDefaults란 앱에서 간단한 데이터를 저장하기 위한 인터페이스로 앱의 설정, 사용자 기본값, 앱 상태 등과 같은 작은 데이터를 저장하는데 사용되고 앱이 종료된 후에도 데이터를 유지할 수 있다. 데이터 저장 형태 문자열 (String): 텍스트 데이터를 저장. ex) 사용자 이름, 이메일 주소 등을 저장. 정수형 (Int): 정수 데이터를 저장. ex) 나이, 숫자 등을 저장. 부동소수점형 (Float, Double): 실수 데이터를 저장. ex) 키, 몸무게 등을 저장. 부울형 (Bool): 참(True) 또는 거짓(False) 값을 저장. ex) 알림 활성화 여부, 소리 재생 여부 등을 저장. 날짜 (Date): 특정 날짜와 시간 정보를 저장. ex) 사용자의 생일, 이벤트 일정 등을 저장...

Today I Learned 2023.08.23

Segue를 통한 ViewController 간 데이터 통신 - TIL

- storyboard에서 viewcontroller 사이를 화살표로 표현한다. - segue는 화면 전환을 위해 사용되는 인터페이스 요소이다. - 특징 다음 viewcontroller로 데이터를 전달할 수 있다. 화면전환을 수행하기 전에 원하는 작업을 수행할 수 있다. 화면전환 시 애니메이션을 적용할 수 있다. segue의 destination, source로 구성됨 // 첫 번째 화면 class FirstViewController: UIViewController { @IBAction func buttonTapped(_ sender: UIButton) { performSegue(withIdentifier: "showDetail", sender: nil) } override func prepare(for..

Today I Learned 2023.08.22

Swift-Protocol-TIL

Protocol이란? 프로토콜이란 어떤 기능에 적합한 특정 메서드, 프로퍼티 및 기타 요구 사항의 청사진을 의미합니다. 프로토콜은 클래스, 구조체, 열거형에 의해 채택되며 프로토콜에 정의된 요구사항의 실제 구현을 제공합니다. 프로토콜의 요구사항을 모두 충족하는 모든 유형(클래스,구조체,열거형)은 해당 프로토콜에 부합하다고 합니다. 위에 내용을 쉽게 말하자면 프로토콜은 약속이라고 생각할수 있다. 자동차를 생각해보자 자동차에는 간단하게 엑셀과 브레이크 핸들 바퀴가 필요하다고 하자 이것들만으로는 움직이는 자동차라고 할 수 없을것이다. 그럼 여기에 전진 후진에 대한 조건을 넣을수 있을것이다. 이러한 것들이 프로퍼티라고 할수있는데 엑셀, 브레이크, 핸들, 바퀴는 자동차의 움직임을 위한 프로퍼티로 전진,후진은 움직..

Today I Learned 2023.08.16

Xcode ios 버전 설정하는 방법-TIL

최신버전의 경우 구글링 자료도 적고 버그들도 종종 존재하기 때문에 최신 버전의 사용보다 이미 검증받은 버전으로 학습하는것이 좋은 경우가 있기 때문에 상황에 맞는 버전을 선택하여 사용할 줄 알아야한다. 1. project/ios 폴더에서 Xcode를 실행해주세요. 2. 좌측에 프로젝트명을 클릭하고 General 탭에서 빨강박스 부분을 눌러 iOS 버전을 변경해주면 됩니다! 간단하지만 상황에 맞게 설정을 바꾸어 보며 학습을 해보도록하자

Today I Learned 2023.08.14

view와 viewController - TIL

UIView UIView는 Apple공식문서에 화면의 직사각형 영역에 대한 내용을 관리하는 객체라고 명시되어 있습니다. 이는 화면을 구성하는 요소들의 기본 클래스이며 위치와 크기를 갖는 사각형으로 배경색을 가지고 있고 문자나 이미지 등의 컨텐츠를 가지는 것이 가능합니다. 그렇기에 앱에서 흔히 볼 수 있는 Label, Image, Button 기타 인터페이스 요소를 표시하려면 UIKit Framework가 제공하는 뷰 하위 클래스를 사용하면 됩니다. UIViewController UIViewController는 Apple공식문서에 UIKit앱의 뷰 계층 구조를 관리하는 객체라고 명시되어 있습니다. 이는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰 컨트롤러를 가지고 있는데 한마디로 사용자가 ..

Today I Learned 2023.08.11

Singleton Pattern(싱글톤 패턴)-TIL

1. Singleton Pattern이란? 싱글톤 패턴이란, 특정 용도로 객체를 하나만 생성하여, 공용으로 사용하고 싶을 때 사용하는 디자인 유형 여러 viewcontroller에서 클래스에 접근이 가능하게 하는 방법이다. //A ViewController let userInfo = UserInfo() userInfo.id = "Sodeul" //B ViewController let userInfo = UserInfo() userInfo.password = "123" //C ViewController let userInfo = UserInfo() userInfo.name = "Sodeul" 예를 들어 이런 식으로 각각의 유저 정보를 저장하게되면 이런 형태로 각 instance의 프로퍼티에만 저장이 될 것..

Today I Learned 2023.08.09

NavigationController - segue를 이용하여 페이지 이동 - TIL

오늘은 xcode의 storyboard를 이용하여 코드를 사용하지 않고 화면 전환하는 것을 실행해 보았다. 실행을 해보기 위해서 xcode프로젝트를 만들어준다. - new project -> app 으로 만들어준다. 위와 같이 navigationController를 선택해준다 그 후에는 view controller를 드래그 해서 불러온다 위 사진과 같이 버튼은 추가해 주고 그 버튼을 control 누른상태에서 드래그해서 show를 선택해준다. 이렇게 화면을 이동할 수 있다.

Today I Learned 2023.08.03

인터페이스 분리의 원칙_Interface Segregation Principle(SOLID5원칙중 I)-TIL

ISP 원칙이란 범용적인 인터페이스 보다는 클라이언트(사용자)가 실제로 사용하는 Interface를 만들어야 한다는 의미로, 인터페이스를 사용에 맞게 끔 각기 분리해야한다는 설계 원칙이라고 보면 된다. 만약 인터페이스의 추상 메서드들을 범용적으로 이것저것 구현한다면, 그 인터페이스를 상속받은 클래스는 자신이 사용하지 않는 인터페이스마저 억지로 구현 해야 하는 상황이 올 수도 있다. 또한 사용하지도 않는 인터페이스의 추상 메소드가 변경된다면 클래스에서도 수정이 필요하게 된다. 즉, 인터페이스 분리 원칙이란 인터페이스를 잘게 분리함으로써, 클라이언트의 목적과 용도에 적합한 인터페이스 만을 제공하는 것이다. 따라서 아래 그림과 같이 Pet 인터페이스를 좀더 잘게 나눔으로써 각 애완동물 클래스의 역할과 맞게 상..

Today I Learned 2023.08.02