Swift

· Swift
출처 : 프로그래머스https://school.programmers.co.kr/learn/courses/30/lessons/12945난이도: Lv.02 문제 설명피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다.예를들어F(2) = F(0) + F(1) = 0 + 1 = 1F(3) = F(1) + F(2) = 1 + 1 = 2F(4) = F(2) + F(3) = 1 + 2 = 3F(5) = F(3) + F(4) = 2 + 3 = 5와 같이 이어집니다.2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. 제한 사항n은 2 이상 100,..
· Swift
Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?  -> Why?  위와 같은 오류가 발생하였다. 최초에 Main.Storyboard와 ViewController가 연결되어 있었는데, 이 부분을 수정하는 과정에서 문제가 발생한 것 같다.   -> 해결 과정?  위 처럼 Atrributes inspector 창에서 View Controller -> Is Initial View Controller 부분을 체크해주면 된다.
· Swift
Xcode의 영역은 총 5가지로 나뉜다. Navigator Area1. 프로젝트 네비게이터프로젝트를 구성하는 디렉토리 구조를 파악swift 파일, 리소스(이미지, 컬러 등) 파일, 연결된 라이브러리 등을 확인 가능디렉토리, 파일을 생성하는 데 도움을 줌2. 소스 컨트롤 네비게이터소스 파일 버전 관리 용 네비게이터commit, commit history 등 git의 기능들을 사용하도록 돕는다.git repository와 연결을 해야 사용할 수 있다.3. 북마크파일에 북마크를 해두면 파일이 아주 많은 프로젝트에서 북마크 해둔 파일을 찾기 쉽다.4. 검색 네비게이터프로젝트 전체에서 검색할 때 사용Find -> Replace에서 기능을 바꿀 수도 있다.5. 이슈 네비게이터프로젝트 빌드 중 경고나 에러 같은 이슈..
· Swift
Swift 제네릭 정리Swift에서 제네릭은 코드 재사용성을 높이고, 타입에 독립적인 함수, 구조체, 클래스, 열거형 등을 작성할 수 있게 해준다.제네릭 함수제네릭 함수는 타입 매개변수를 사용하여 다양한 타입에 대해 동작하는 함수를 작성할 수 있게 해준다.func swapTwoValues(_ a: inout T, _ b: inout T) { let temporaryA = a a = b b = temporaryA} 제네릭 타입제네릭 타입은 구조체, 클래스, 열거형에서 사용되어 다양한 타입에 대해 동작하는 타입을 정의할 수 있게 해준다.//제네릭 구조체struct Stack { var items = [Element]() mutating func push(_ item: Ele..
· Swift
튜터님께서 강조해주신 의존관계 역전 원칙(DIP)! 자세히 알아보자. 먼저 단어를 뜯어서 의존성(Dependency) 주입(Inversion)으로 나눠 알아보자. 의존성 이란?-> 서로 다른 객체 사이에 의존 관계가 있다는 것 자 먼저, Swift에서는 보통 다른언어의 객체를 객체라고 표현 안 하고 인스턴스라는 용어를 더 자주 사용한다고 한다.그렇기 때문에 필자는 설명할 때 인스턴스라고 칭하겠다. 코드로 이해해보자.class B { var name: String = "대성"}class A { var kk: B = B() func Output() { print(kk.name) }}위 그림을 보면 클래스 'A'의 인스턴스는 클래스 'B'의 인스턴스를 의존할 수 있다고..
· Swift
클로저 먼저, 클로저는 named clousre와 unnamed clousre로 나뉜다.named clousre는 우리가 사용하는 함수를 말 하는데, 일반적으로 우리는 이를 클로저라고 부르지 않고 그냥 함수라고 부른 것 뿐이다.(함수는 실제로 클로저에 속함)func daesung() { print("안농안농")}  그리고 다음과 같이 이름을 붙이지 않고 사용하는 함수를 익명함수 unnamed clousre라고 부른다. let closure = { print("나는 클로저~") } 따라서 위 말들을 정리해보면, 클로저는 named clousre 와 unnamed clousre 둘 다 포함하지만,우리는 보통 unnamed clousre를 클로저라고 부른다.그럼 이름 없는 함수인 클로저는 왜 필요한가? 라고 ..
pockpock
'Swift' 카테고리의 글 목록 (2 Page)