반응형

SWiFT 22

[Swift] 접근 수준(Access Control)과 접근 수준 범위

안녕하세요. 맥파이입니다. 최근 열심히 글을 올리고 있습니다. 이제 접근수준에 대해서 알아볼께요. 접근 수준(Access Control) 접근수준(Access Control)은 코드의 일부를 공개할지, 숨길지를 결정하는 기능입니다. 이 기능을 사용하면, 모듈(Module) 내에서 일부 코드를 다른 모듈에 노출하거나, 숨길 수 있습니다. Swift에서는 5가지의 접근수준을 제공합니다. Open Public Internal File-private Private 각 접근수준에 대한 설명은 다음과 같습니다. Open: 가장 높은 접근수준으로, 해당 클래스 또는 클래스 멤버를 다른 모듈에서 사용할 수 있습니다. 상속과 재정의가 가능합니다. Public: 다른 모듈에서 해당 클래스 또는 클래스 멤버를 사용할 수 있..

카테고리 없음 2023.04.09

[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

[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..

[Swift] 버튼 title 제거해도 title 노출이 될 경우

안녕하세요 맥파이입니다. XCode가 업데이트 되고, 언젠가 부터.. XCode13인가?? 기억은 잘안나는데요, UIButton을 추가하고 title을 제거했음에도 불구하고, 빌드후 화면을 보면 Button이라고 하얀색으로 보이는 현상이 있습니다. 스토리보드를 보면 멀쩡하고, 꼭 빌드하면 나타나는 하얀색 Button이라는 글씨가 맘에 안듭니다. 해당 증상은 버그로 보입니다만.. 아직도 고쳐지지 않고 있습니다. XCode14에서도 확인이 되고 있네요. UIButton을 추가하고, 빌드하면 나타나는 하얀색 'Button'문구 UIButton내 title 제거해도 title 영역에 'Button'이란 글씨가 노출이 될 경우 처리 방법은 다음과 같습니다. 스토리보드에서 style을 Default로 변경하고 ti..

반응형