개린이 이야기61 2022년 03월 21일의 이야기 1. 대리자 디자인 패턴 -대리자 패턴은 ios 개발에서 자주 사용되는 유명한 디자인 패턴으로 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공한다. -[iOS 앱 개발 - Swift] Delegation Design Pattern (tistory.com) [iOS 앱 개발 - Swift] Delegation Design Pattern Unity로 게임개발을 할 때도 한번 나왔던 개념인데, 그 때도 헷갈려서 자세하게는 못다루고 넘어갔던 내용이네요 ㅋㅋㅋㅋ. 그때 이해를 잘 못해놔서 게임개발을 하면서 한번도 이용한 적이 없었 etst.tistory.com -Swift :: delegate패턴 알아보기 :: 상어의 개발 블로그 (shark-sea.kr) Swift :: delegate.. 2022. 3. 21. 2022년 03월 15일의 이야기 1. 스위프트 딥다이빙(Protocols) -스위프트 내에서 프로토콜을 만들 수 있다. ex) protocol MyProtocol { //define requirements } -그리고 우리가 사용하고 있는 struct나 class에서 프로토콜을 채택할 때 이용할 수 있다. -공통되는 부분은 class로 상속시키고, 부분적으로 공통된다면 프로토콜을 이용한다. ex) struct MyStruct : MyProtocol{ }, class MyClass : MyProtocol{ } -프로토콜은 메소드, 프로퍼티 등을 정의만 하고, 이 프로토콜을 채택한 곳에서 구현을 한다!! -새와 독수리는 날 수 있지만 펭귄은 날 수 없다. 그리고 비행기는 날 수 있지만 새가 나는 기능과는 다르게 엔진을 통해서 날 수 있다... 2022. 3. 15. 2022년 03월 10일의 이야기 1. 다크 모드 및 벡터 자산 작업 -xcode 클릭 후 preferences -> general -> dark mode 변경이 가능하다. -따라서 light mode일 때와 dark mode일 때의 화면과 색상을 각각 다르게 변경할 수 있다. -벡터 이미지는 뷰의 크기에 따라 픽셀이 자동적으로 변경되기 때문에 1x, 2x, 3x 배율에 맞춰 일일히 작업할 필요가 없다. -벡터 이미지를 보유하고 있다면 드래그하여 사용할 수 있고, Resizing 표시를 클릭하고, scales를 single scale로 변경해주면 된다. 2. UITextField 사용 방법을 배웁니다. -텍스트 필드는 사용자가 아이폰에서 키보드를 사용하여 입력을 할 수 있도록 한다. -텍스트 필드의 키보드 활성화는 커맨드 + k 를 통해.. 2022. 3. 11. 2022년 03월 07일의 이야기 1. 스위프트 딥 다이빙(옵셔널 바인딩, 체인 및 nil 결합 연산자) -옵셔널에 대해서 다시 복기해보자면, 옵셔널은 ' ? ' 를 통해서 표현하는데 그 의미는 " 이 변수에는 값이 들어갈 수도 있고, 아닐 수도 있다. " 로 nil을 표현하기 위한 수단으로 사용하는 것이다. -스위프트에서는 기본적으로 변수 선언 시에 nil값이 들어가는 것을 허용하지 않는다. 그래서 nil은 옵셔널 변수 이외에서 사용할 수 없다. -옵셔널은 기본적으로 wrap되어 있는 상태이다. 옵셔널로 선언된 변수들은 값이 있는지 nill인지 wrap 상태이기 때문에 모른다. ex) var optional : string? = "hello" print( optional ) //출력은 optional( "hello" ) 올바르게 출력 .. 2022. 3. 7. 2022년 03월 05일의 이야기 1. 멀티 스크린 앱용 Segues 및 탐색 -cocoa touch class는 애플UIKit와 전체 무리를 포함하는 프레임 워크를 말한다. //지난 시간 우리가 직접 UIKit를 수입해오고, UIViewController class를 가져오고, viewDidLoad( )를 직접 작성한 것들이 존재하는 프레임 워크다. -메인스토리보드의 두 번째 화면과 결과 뷰 컨트롤러를 연결시키기 위해서 두 번째 화면의 뷰 컨트롤러를 누르고, 신원조사관을 눌러 class를 ResultViewController로 변경해준다. -컨트롤을 누르고 refactor -> rename으로 이름을 변경할 수 있다. -지난 시간에는 self.present를 통해 화면 전환을 이루었지만 메인 스토리 보드에서 컨트롤을 누른채 뷰 컨트롤러.. 2022. 3. 5. 2022년 03월 04일의 이야기 1. 스위프트 딥 다이빙(Struct vs Class) -struct MyStruct{ } / class MyClass : SuperClass { } -struct는 class와 다르게 상속이 불가능하지만 상속을 제외하면 class와 기능이 유사하다. -class에서는 참조가 가능하기 때문에 조심해야 한다. let skeleton1 = enemy(health: 100, attackStrength: 10) let skeleton2 = skeleton1 skeleton1.takeDamage(amount: 10) 이 코드를 보면 데미지를대미지를 입은 것은 스켈레톤 1이지만 스켈레톤 2에도 똑같이 대미지를 입는다. 왜냐하면 스켈레톤 2가 1을 참조했기 때문이다. 새로운 스켈레톤 2로 enemy class를 사용.. 2022. 3. 4. 이전 1 ··· 5 6 7 8 9 10 11 다음