모바일 12

[iOS 면접 준비] Bounds와 Frame의 차이점은?

출처 : JeaSungLEE님 GIthub JeaSungLEE/iOSInterviewquestions 👨🏻‍💻👩🏻‍💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub. github.com Frame과 Bounds의 개념 Frame : 부모 뷰의 상대적인 위치 (x,y) 및 크기 (너비와 높이)로 표현되는 사각형 Bounds : 자체 좌표계 (0,0) 을 기준으로 위치 (x,y) 및 크기 (너비와 높이)로 표현되는 사각형 언제 Frame과 Bounds를 사용해야 하는가? Frame : UIView의 위치나 크기를 설정해야 하는 경우 Bounds : Vie..

[iOS] Navigation Bar Title 변경

Instagram Clone Application을 제작하던 중, Navigation Bar 의 제목을 변경했는데 Tabbar의 제목까지 함께 변경되는 문제를 겪었다. 간단하지만, 나중에 까먹지 않기위해 기록하려고 한다. Navigation Bar Title 변경하는 방법 경우의 수 1 ) 그냥 Navigation Controller만 embed 했을 때 // 1번 방법 title = "제목을 바꿔요" // 2번 방법 self.title = "제목을 바꿔요" // 3번 방법 self.navigationItem.title = "제목을 바꿔요" // 4번 방법 self.navigationController?.navigationBar.topItem?.title = "제목을 바꿔요" 경우의 수 2 ) Navig..

[Swift] 오류 처리

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 오류타입 정의하기 오류 타입으로 사용되는 열거형을 정의할 때는 반드시 Error라는 프로토콜을 구현해야 한다. protocol Error { } 오류 던지기 우리가 작성한 오류 타입 객체는 함수나 메소드를 실행하는 과정에서 필요에 따라 외부로 던져 실행 흐름을 옮겨버릴 수 있다. 이때 함수나 메소드는 오류 객체를 외부로 던질 수 있다는 것을 컴파일러에 알려주기 위해 정의 구문을 작성할 때 throws 키워드를 추가한다. func canThrowErrors() throws -> String func cannotThrwoErrors() -> String ..

[Swift] 프로토콜

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 프로토콜 : 클래스나 구조체가 어떤 기준을 만족하거나 특수한 목적을 달성하기 위해 구현해야 하는 메소드와 프로퍼티의 목록 🚀 명세 : 프로토콜에 선언된 프로퍼티나 메소드의 형식 🚀 프로토콜을 구현한다 : 이 명세에 맞추어 실질적인 내용을 작성하는 것 프로토콜의 정의 protocol { ... ... } 🚀스위프트에서 프로토콜을 구현할 수 있는 구현체들 구조체 클래스 열거형 익스텐션 프로토콜 구현을 위해 가장 먼저 할 일은 이 프로토콜을 구현하겠다고 선언하는 것이다. struct / class / enum / extention 객체명 : 구현할 프로토콜..

[Swift] 열거형과 익스텐션

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 🚀 열거형은 문자열이나 정수값 등 직접 입력받아야 할 정보들을 입력 대신 선택할 수 있도록 만들어 줌으로써 값의 범위를 제한하고 무작위로 값이 입력되는 것을 방지하여 코드의 안정성을 높여주는 역할을 한다. 🚀 익스텐션은 기존에 작성된 객체를 직접 수정하지 않고도 기능을 추가하는 방법을 제공한다. 개발에 제약을 줄이고 생산성을 높여주는 방법이라고 할 수 있다. 열거형 하나의 주제로 연관된 데이터들이 멤버로 구성되어 있는 자료형 객체 열거형에서 데이터들을 열거형 객체를 정의하는 시점에 함께 정의된다. 따라서 데이터를 함부로 삭제하거나 변경할 수 없으며, ..

[Swift] 구조체와 클래스 - (2)

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 상속 한 클래스가 다른 클래스에서 정의된 프로퍼티나 메소드를 물려받아 사용하는 것 프로퍼티와 메소드를 물려준 클래스는 부모 클래스 = 상위 클래스 = 슈퍼 클래스 = 기본 클래스 프로퍼티와 메소드를 물려받은 클래스는 자식 클래스 = 하위 클래스 = 서브 클래스 = 파생 클래스 서브 클래싱 먼저 기본 클래스 A 를 정의한다. class A { var name = "Class A" var description: String { return "This class name is \(self.name)" } func foo() { print("\(self.na..

[Swift] 구조체와 클래스 - (1)

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 🚀 유연성 : 코드를 떼어서 다른 곳으로 옮기거나 새로운 코드를 추가하기가 쉽다는 뜻으로 의존성의 반대 개념 🚀 구조체 VS 클래스 [ 두 객체의 공통점 ] 프로퍼티 : 변수나 상수를 사용하여 값을 저장하는 프로퍼티를 정의할 수 있다. 메소드 : 함수를 사용하여 기능을 제공하는 메소드를 정의할 수 있다. 서브 스크립트 : 속성값에 접근할 수 있는 방법을 제공하는 서브스크립트를 정의할 수 있다. 초기화 블록 : 객체를 원하는 초기 상태로 설정해주는 초기화 블록을 정의할 수 있다. 확장 : 객체에 함수적 기능을 추가하는 확장 구문을 사용할 수 있다. 프로..

[Swift] 함수 - (2)

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 꼼꼼한 재은씨의 Swift 문법편 A new tool for teams & individuals that blends everyday work apps into one. www.notion.so 일급 객체로서의 함수 일급 함수의 특성 객체가 다음의 조건을 만족하는 경우 이 객체를 일급 객체로 간주한다. 객체가 런타임에도 생성이 가능해야 한다. 인자값으로 객체를 전달할 수 있어야 한다. 반환값으로 객체를 사용할 수 있어야 한다. 변수나 데이터 구조 안에 저장할 수 있어야 한다. 할당에 사용된 이름과 관계없이 고유한 구별이 가능해야 한다. 🚀 함수가 이런..

[Swift] 함수 - (1)

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 함수는 대부분의 프로그래밍 언어에서 지원하는 개념으로, 프로그래밍 실행 과정 중에서 독립적으로 처리될 수 있는 부분을 분리하여 구조화한 객체를 의미한다. 🚀 함수 사용의 이점 동일한 코드가 여러 곳에서 사용될 때 이를 함수화하면 재작성할 필요 없이 함수 호출만으로 처리할 수 있다. 전체 프로세스를 하나의 소스 코드에서 연속적으로 작성하는 것보다 기능 단위로 함수화하면 가독성이 좋아지고 코드와 로직을 이해하기 쉽다. 비즈니스 로직을 변경해야 할 때 함수 내부만 수정하면 되므로 유지보수가 용이하다. 사용자 정의 함수 func 함수이름(매개변수1: 타입, ..

[Swift] 옵셔널 (Optional)

🚀작성자의 Swift 정리 원본인 Notion 구경하기 -> www.notion.so/Swift-59150070adb0467ea11d4f69090dbb24 옵셔널은 스위프트에서 도입된 새로운 개념으로서 언어 차원에서 프로그램의 안전성을 높이기 위해 사용하는 개념이다. 옵셔널의 개념을 한 문장으로 정의하면 'nil을 사용할 수 있는 타입과 사용할 수 없는 타입을 구분하고, 사용할 수 있는 타입을 가리켜 옵셔널 타입 이라고 부른다.' 고 할 수 있다. nil이란? 값이 없음을 의미하는 특수한 값 let capital = ["KR" : "Seoul", "CN" : "Beijing", "JP" : "Tokyo"] capital["ko"] // nil 스위프트에서는 값을 처리하는 과정에 문제가 있을 경우 많은 부..

반응형