전체 글 128

[Swift] 서브스크립트(subscript)란?

안녕하세요. 맥파이입니다. 오늘은 우리가 자주쓰지만 이름을 모르는 서브스크립트(subscript)에 대해 알아볼것입니다. Swift에서 컬렉션 타입(Array, Set, Dictionary 등)은 서브스크립트(subscript)를 제공합니다. 서브스크립트를 이용하면, 컬렉션 내부의 값을 인덱스를 이용하여 접근할 수 있습니다. 서브스크립트(subscript) 서브스크립트는 다음과 같은 형태를 가집니다. subscript(index: Int) -> Element { get set } 위 형태에서 index는 접근하고자 하는 값을 가리키는 인덱스를 나타내며, Element는 컬렉션 내부에 저장된 값의 타입을 나타냅니다. Swift에서 서브스크립트(subscript)는 클래스, 구조체, 열거형 등에서 컬렉션의 ..

카테고리 없음 2023.04.09

[Swift] Generic에 대해 공부해봅시다.

안녕하세요. 맥파이입니다. 오늘은 Generic에 대해 학습을 진행해보겠습니다. Generic Generic은 함수, 메소드, 클래스, 구조체, 열거형 등에서 사용할 수 있는 타입 안정성(Type Safety)을 보장하면서 재사용 가능한 코드를 작성할 수 있게 해주는 기능입니다. Generic을 사용하면 여러 다른 타입에서 동일한 로직을 적용할 수 있어 코드의 재사용성을 높일 수 있습니다. Generic은 타입 매개변수(Type Parameters)를 사용하여 구현됩니다. 타입 매개변수는 제네릭 코드를 작성할 때 실제 타입으로 대체될 수 있는 임시 타입 변수입니다. 제네릭 코드에서 타입 매개변수는 "" 안에 선언됩니다. func printValue(value: T) { print("Value: \(val..

[Swift] Swift와 Objective-C에서 Struct의 차이점

안녕하세요. 맥파이입니다. 전 아직 실무에서 Objective-C를 사용하고 있습니다. 환경적 제약으로 Objective-C와 Swift를 오가다 보니 개념이 헷갈리기 시작해서 Swift와 Objective-C에서 Struct의 차이점을 정리해보려고 합니다. Swift와 Objective-C에서 Struct의 차이점Swift와 Objective-C에서 struct는 다음과 같은 차이점이 있습니다. 상속 Objective-C에서는 struct는 상속을 지원하지 않습니다. Swift에서는 struct도 class와 마찬가지로 상속을 지원합니다. 값 타입 vs 참조 타입 Swift에서는 struct는 값 타입(Value Type)입니다. 변수나 상수에 struct를 할당하면, 해당 변수나 상수에는 struct..

카테고리 없음 2023.04.07

[Objective-C] typedef란 무엇인가?

안녕하세요. 맥파이입니다. 오늘은 typedef에 대해서 학습해볼 예정입니다. typedef란 무엇인가? typedef는 C 언어에서 사용되는 키워드로, 새로운 자료형을 만들기 위해 사용됩니다. Objective-C에서도 typedef를 사용하여 새로운 타입을 만들 수 있습니다. swift에서 typealias라고 생각할수 있습니다. 이렇게 만들어진 새로운 타입은 Objective-C 클래스의 인스턴스 변수나 매개 변수, 반환 값 등에 사용됩니다. typedef NS_ENUM(NSInteger, Fruit) { Apple, Banana, Orange, Grape }; Fruit라는 새로운 자료형을 만들고, 이 자료형에 Apple, Banana, Orange, Grape와 같은 값을 대입합니다. Fruit..

카테고리 없음 2023.04.07

[Swift] typealias와 associatedtype의 차이점

안녕하세요. 맥파이입니다. 오늘은 typealias와 associatedtype의 차이점을 알아보려고 합니다. typealias와 associatedtype가 궁금하신 분은 아래 링크에서 먼저 확인해보시죠! 2023.04.05 - [iOS 개발/swift] - [Swift] Typealias란 무엇인가? [Swift] Typealias란 무엇인가? 안녕하세요 맥파이입니다. 오늘부터는 Swift를 공부하면서, 한번씩 이게 뭐지 할수 있는 것들에 대해 정리를 해볼려고 합니다. 여러번 정리를 해보고 했지만, 글로 남겨두지 않으니 필요할때 다 www.magpiebros.com 2023.04.05 - [iOS 개발/swift] - [Swift] Associated Type 이란? [Swift] Associated..

[Swift] enum은 무엇인가?

안녕하세요 맥파이입니다. 오늘 공부할 것은 enum[열거형] 입니다. enum[열거형] enum은 관련된 값들을 열거 해놓고, 선택하여 사용하는 것입니다. 글로 쓰면 이해가 안갈수 밖에 없습니다.. 예를 하나 들어보겠습니다. 위시리스트를 만들고, 갖고 싶은 물건을 목록으로 저장한다고 생각해보죠. 건담, 스피커, 돈이 제 위시리스트입니다! 이걸 하나 하나 나열해보죠. let wish1 = "gundam" let wish2 = "speaker" let wish3 = "money" 소스 어딘가에서 내가 갖고 싶은 위시리스트중 하나를 저장한다고 합시다. 그럼 wish1, wish2, wish3을 다 기억하고 있다가 그 중에 하나를 가져다가 할당해야 하겠지요? 이럴때, 내 위시리스트를 하나의 열거형으로 저장해놓으..

[Swift] Associated Type 이란?

안녕하세요. 맥파이 입니다. 오늘은 Associated Type를 파헤질 예정입니다. Associated Type은 프로토콜에서 사용됩니다. Associated Type은 프로토콜을 위한 Generic이라고 생각하시면 됩니다. Generic에 대해서도 정리가 필요해 보입니다. 프로토콜 잘 모르시겠나요? 아래 링크로 학습을 해보시죠!! 2023.04.05 - [iOS 개발/swift] - [Swift] Protocol 프로토콜이란? Associated Type protocol MagpieProtocol { var value: String { get } } MagpieProtocol을 채택하는 타입은 value를 정의해 주어야 합니다. 현재는 value는 String값입니다. Int값이 있는 value가 필..

[Swift] Protocol 프로토콜이란?

안녕하세요 맥파이입니다. 오늘은 대망의 protocol입니다. 프로토콜이라는건 많이 들어도 보고, 어렵기도 하고 피하고만 싶어질수 있습니다. 어느 누군가가 만들어 놓은 프로토콜 코드를 보면 몸서리쳐 질수도 있기 때문입니다. 상속도 아닌것이 괜히 복잡하게만 보일수 있기 때문이죠. 이제 시작해봅시다. protocol 프로토콜은 요구사항을 정의하고, 구조체, 클래스, 열거형은 프로토콜을 채택해서 요구사항을 실제로 구현하는 방식으로 사용됩니다. 프로토콜은 정의를 할뿐 기능 구현은 하지 않습니다. 프로토콜은 다음과 같은 모습으로 생겼습니다. protocol ‘이름’ { //프로토콜 정의 } 프로토콜의 용법 Property Requirements Method Requirements Initializer Requir..

[Swift] Typealias란 무엇인가?

안녕하세요 맥파이입니다. 오늘부터는 Swift를 공부하면서, 한번씩 이게 뭐지 할수 있는 것들에 대해 정리를 해볼려고 합니다. 여러번 정리를 해보고 했지만, 글로 남겨두지 않으니 필요할때 다시 찾아보게 되더라고요.. 그래서 시작했습니다. Swift 관련 궁금증을 모두 날려버리자 씨리즈입니다. 그 첫번째는 Typealias입니다. Typealias 기존에 선언되어 있는 유형에 별칭을 사용하여 가독성을 높이는 문법입니다. 치환한다고 하면 이해하기가 쉬울것 같습니다. 한번 확인해보시죠. Typealias 사용 방법 typealias를 사용하는 방법에는 5가지 방법정도가 존재하는것으로 보입니다. 하나씩 확인해보도록 합시다. Built-in type : String, Int User defined types: C..

[Unity] transform.position, SerializeField, Destroy

안녕하세요 맥파이입니다. 하고 싶은게 많아서 이것저것 만지작 거리는데, 유니티는 아주 오래전부터 관심을 가지고 공부를 하다가도 잠깐 놓게 되면 다시 만지기가 쉽지 않은 언어였습니다. 맥으로하기에도 좀 무겁고, 맥에서는 버그도 많아서... 자동완성이 안된다거나 등등 몇달전에 다시 열심히 하다가.. 또 놓았다가 다시 시작하는데 매번 볼때마다 새롭게 느껴지네요 ㅋㅋ 그래서 이번엔 정리하면서 익혀보는 중입니다. 저처럼 가끔씩 경제적 자유를 꿈꾸며. '언젠가는 멋진 게임을 만들어서 부자가 될꺼야'라고 꿈을 꾸는 분들은 이 글들이 도움이 될수도 있겠죠 transform.position 일단 위치를 설정하는 소스입니다. 아래 코드는 카메라 포지션을 달아주는 코드였고, person은 gameObject로 주인공을 나타..

개발 관련/Unity 2023.04.02