본문 바로가기

IOS - Swift47

[ios/xcode] StoryBoard Action Segue 종류 총 5가지 방법으로 지정할 수 있습니다. Show: stack 최상단에 뷰 컨트롤러가 load 됩니다. 새로운 뷰 컨트롤러를 stack에 Push하고 활성화 된 다음, 이전 화면으로는 stack이 pop 되어 사라집니다. ShowDetail: show와 구조가 비슷하지만 push가 아닌 교체되는 구조입니다. Present Modally: 뷰를 Modal 형태로 나타냅니다. Present As Popover: 현재 보이는 뷰 컨트롤러 위에 앵커를 내려 팜업뷰를 보여줍니다. Custom: 커스텀입니다. 2022. 11. 1.
Mac 에러해결기: (xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH) [Xcode] - [Preferences] - [Locations] - [Command Line Tools] 설정해주면 해결할 수 있다. 2022. 9. 25.
Mac 에러 해결기 (xcrun: error: invalid active developer path) IDE에서 깃 명령어를 입력하니 xcrun: error: invalid active developer path (...) 라는 에러가 발생했다..! xcode를 업데이트하면 생기는 오류인듯한데 매번 찾기 귀찮아서 블로그에 포스팅으로 남겨두어야겟다. xcode-select --install 해당 코드를 입력하면 간단히 해결된다. 2022. 9. 25.
Swift 기초문법 - In-out Parameters 📖 In-out Parameters 📌 In-out Parameter (인-아웃 파라미터) swift 내 함수에서의 파라미터는 상수이므로, 함수 내에서 파라미터의 값을 변경하는 것은 불가능합니다. (실수로라도 파라미터의 값을 변경시킬 수 없습니다.) 하지만 In-out 파라미터 를 활용하면 함수 안에서 파라미터의 값을 변경하고, 함수 호출이 종료된 이후에도 변경된 값이 지속되게 됩니다. inout 매개변수는 다음의 과정을 거치게 됩니다. 함수가 호출되면, 매개변수로 넘겨진 변수가 복사된다. 함수 몸체에서, 복사한 값을 수정한다. 함수가 반환될 때, 변화된 값을 원본 변수에 재할당한다. 이 동작을 copy-in copy-out 혹은 다른언어에서의 call by value result 라고 불리게 됩니다. .. 2022. 9. 15.
Swift 기본문법 - Dictionary 📖 딕셔너리 📌 딕셔너리 (Dictionary) 딕셔너리 는 키와 값으로 이루어져있는 콜렉션 입니다. 형태는 키 : 값 으로 이루어져 있습니다. 💬 배열 은 데이터가 줄지어 나열되어 있다면, 딕셔너리 는 키를 가지고 사물함을 여는 것처럼 키를 활용해 값을 가져오는 것입니다 📌 딕셔너리 활용하기 ex) var myFriend = ["bestFriend" : "후니", "highschool" : "후니엄마"] let myBestFriend = myFriend["bestFriend"] >>> "후니" 💬 값을 덮어쓸 수 있습니다. myFriend["bestFriend"] = "밥먹는 사람" 📌 딕셔너리에서 찾고자 하는 값이 없을 때 ex) let youtubeFriden = myFriend["youtube",.. 2022. 9. 15.
Swift 기본문법 - 상속 📖 상속 📌 상속 (Inheritance) 상속 이란 부모한테 자식이 물려받는 것처럼, 어떠한 클래스의 프로퍼티와 메소드를 다른 클래스에게 그대로 물려주는 것입니다. 클래스에서는 저장된 프로퍼티와 계산된 프로퍼티와 상관없이 상속받은 프로퍼티에 프로퍼티 옵저버를 설정해서 값 설정에 반응할 수 있습니다. 💬 위에서 아래로 내려오는 것 💬 이브이에 여러 속성이 더해져, 다양한 모습으로 진화하는것이 하나의 예시입니다. 📌 클래스 생성 class Friend { var name : String init(_ name : String) { self.name = name } func sayHi() { print("안녕? 나는 \(self.name)라고 해") } } 📌 오버라이딩 (Overriding) 서브클래스(부모.. 2022. 9. 15.
Swift 기초문법 - Closure 📖 Closure (클로저) 📌 Closure란 클로저 (Closure)는 코드블럭으로 C와 Objective-C의 블럭(blocks)과 다른 언어의 람다(lambdas)와 비슷한 성격을 지닙니다. 💬 클로저는 크게 두 가지 종류로 나눌 수가 있습니다. Named Closure Unnamed Closure 이름이 있는 보통의 함수(우리가 알고 있는 함수들)는 Named Closure 이고, 이름이 없는 함수들을 Unnamed Closure (익명 함수) 라고 합니다. 보통 클로저를 말할 때는 Unnamed된 함수를 의미합니다. 📌 NamedClosure vs UnNamed Closure 표현식 func coder() { print("hooni") } 이처럼 기존에 선언한 함수 를 이름이 있는 클로저라고 .. 2022. 9. 14.
Swift 기초문법 - Generic 📖 Generic (제네릭) 📌 Generic이란 Generic (제네릭) 은 어떠한 자료형이든 받고 싶을 때 사용하는, 범용 코드를 작성할 때 사용합니다. 이로인하여, 유연하고 재사용 가능한 함수와 타입의 코드를 작성하는 것이 가능해집니다. 📌 제네릭 함수 제네릭 은 을 통해 나타내고, 이 안에 타입처럼 사용할 이름을 넣어주면 됩니다. (Type Parameter의 약자인 T를 주로 사용합니다.) 또한, 대문자 카멜 케이스로 이름 짓습니다. 대문자로 된 이름은 값(value)이 아니라 타입(type)을 의미합니다. ex) struct MyArray { // 제네릭을 담은 빈 배열 var elements : [SomeElement] = [SomeElement]() // 생성자 자체는 만들지 않아도 되지만.. 2022. 9. 14.
Swift 기초문법- struct와 class의 차이 📖 struct과 class 차이 struct 는 복사 , class 는 공유 즉, struct 는 참조하는 값이 변경되어도 복제한 값이 바뀌는것이기에 기존의 값에 영향을 미치지 않습니다. class 는 참조하는 값이 변경되면 원본과 복제값이 동일하기 떄문에 변경값이 영향을 미칩니다. 클래스 인스턴스가 인자로 사용될 때는 참조가 넘어가고 구조체는 값이 넘어간다 💬 유튜브를 처음 실행하였을때, 영상 하나하나에 해당되어 있는 영역에 나타내는 정보는 이름, 영상 썸네일, url, 조회수 등의 정보들이 있습니다. 이렇게 정해져 있는 데이터 종류를 하나하나 관리하기 힘들어, 프로그래밍에서는 하나의 모델 에 묶어두고 관리합니다. 이때, 데이터를 모델에 묶는 방식은 두 가지가 있습니다. struct class 새로운.. 2022. 9. 14.