본문 바로가기

전체 글133

Static과 Class에 관하여 -클래스, 구조체, 열거형 안에서 선언되는 함수나 변수/상수를 메소드와 프로퍼티라고 부른다. -Static과 Class는 프로퍼티나 메소드의 타입을 정의하기 위해 사용하는 키워드이다. -메소드 앞에 키워드가 붙으면 "타입 메소드", 프로퍼티 앞에 키워드가 붙으면 "타입 프로퍼티" 라고 정의한다. 타입 메소드 평소처럼 메소드를 선언해보았다. class Student { func instanceMethod() { } } 안에 있는 메소드를 사용하기 위해서는 Student 클래스의 인스턴스를 만들어 함수를 실행해야 한다. 따라서 우리가 평소에 사용하는 인스턴스를 만들어 실행하는 메소드의 이름은 인스턴스 메소드라고 한다. ex) 타입 메소드의 정의 class Student { static func staticM.. 2023. 1. 31.
오버로딩(Overloading)에 관하여 오버로딩(Overloading) -함수의 이름은 같지만 파라미터나 리턴 타입 등을 다르게 해서 함수의 중복사용이 가능토록 하는 것 함수를 작성할 때 그냥 같은 함수를 똑같이 작성하면 오류가 발생한다. ex) func hello() { //내용 } func hello() { //Invalid redeclaration of 'hello()' //내용 } 알다시피 위와 같이 똑같은 함수를 중복 사용하는 것은 불가능하다. 동일한 함수 이름이지만 파라미터, 리턴 타입을 다르게 만들면? ex) func hello() { print("hello") } func hello(name : String) { print("hello \(name)") } func hello() -> String { return "hello" .. 2023. 1. 30.
서브스크립트에 관하여 서브스크립트(Subscript) -클래스, 구조체, 열거형에서 컬렉션, 리스트, 시퀸스의 등 타입의 요소에 접근하기 위한 바로가기 첨자로 단축 문법이다. -별도의 getter, setter 메서드를 구현하지 않아도 값을 가져오거나, 값을 설정해줄 수 있다. -해당 인스턴스 이름 뒤에 [ ] 기호로 묶고 안에 값을 넣음으로써 서브스크립트를 사용한다. -Array(배열)안의 원하는 index 값에 접근하고 싶을 때, Array[index]를 통해 값에 접근할 수 있는 것, Dictionary(사전)의 key를 통해 값에 접근하고 싶을 때, Dictionary[key]를 통해 값에 접근할 수 있는 표현들이 서브스크립트를 말한다. -단일타입에 여러개의 서브스크립트를 정의할 수 있다. Array에서 서브스크립트 .. 2023. 1. 28.
오버라이딩(Overriding)에 관하여 오버라이딩(Overriding) -공식문서에 따르면 오버라이딩은 "하위 클래스가 슈퍼클래스로부터 상속되는 인스턴스 메서드, 타입 메서드, 인스턴스 프로퍼티, 타입 프로퍼티, 서브스크립트 등이 사용자 지정 구현이 가능한데 이것을 오버라이딩이라고 부른다." ( 쉽게 말해 "재정의") -서브클래스가 슈퍼클래스로부터 상속받은 메서드나 프로퍼티 등을 재정의 해주는 키워드로 사용 방법은 정의하기 전에 "override" 키워드를 붙여주는 것이다. 만약 슈퍼 클래스에 재정의해줄 대상이 없는데 override 키워드를 붙이면 컴파일 에러가 발생한다. -서브클래스에서 슈퍼클래스의 특성(메서드, 프로퍼티 등)을 재정의 했을 때, 슈퍼클래스의 특성도 같이 서브클래스에서 활용하고 싶다면 "super" 프로퍼티를 사용하면 된다.. 2023. 1. 26.
Infinite Carousel 구현 위 사진처럼 무한히 보여주는 Carousel을 구현하는 방법에 대해서 설명해보려고 한다. 이것을 구현하기 위해 너무도 많은 Carousel 관련 블로그를 보았다.(머리가 그만큼 안좋음.) 다른 블로그들에는 쉽다고 하는데.. 왜 나는 하루종일 걸렸을까... Carousel -컨베이어 벨트처럼 이어지는 뷰를 말한다. -어느 방향으로 스크롤하든 무한으로 이어질 수 있다. -포커스되어 있는 cell이 아니라면 크기를 작게. -타이머를 이용하여 자동으로 스크롤. -스크롤에 맞춰 pagecontrol의 currentpage 변경 1. CollectionView 설정 중요한 것만 말해보면 1) 컬렉션 뷰 안의 inset을 설정해주는 것으로, cell을 가운데에 위치시키기 위해 left, right 각 inset을 넣.. 2023. 1. 21.
Custom Splash 화면 iOS에서는 런치스크린(LaunchScreen)을 통해 Splash 화면을 구성한다. 런치스크린에 애니메이션, 폰트가 적용된 라벨 등을 넣고 싶은데 내가 방법을 못 찾는건지, 아예 불 가능한건지 모르겠다. 그래서 Splash 화면인 척하는 뷰를 만들어서 대용해 볼 것이다. 1. MainViewController와 SplashViewController를 만들고 꾸미기. -원하는대로 꾸며주고 나서 두 가지 뷰 모두 스토리보드에서 Storyboard ID를 지정해주기. Class : CustomTabBarViewController Storyboard ID : TabBar Class : CustomSplashViewController Storyboard ID : CustomSplash -필자는 UITabBarC.. 2023. 1. 17.