본문 바로가기

분류 전체보기218

저장프로퍼티를 extension에 정의할 수 없는 이유 Extension은 class, struct, protocol, enum에 사용이 가능한 기능으로, 기존 타입에 새로운 기능을 추가하도록 도와줍니다. 직접적인 코드 접근 권한이 없는 프레임워크나 라이브러리 등의 기능을 확장할 수 있게 해주어 매우 유용하게 사용이 됩니다. 이런 extension에는 저장 프로퍼티를 사용할 수 없다는 제한이 있습니다. 그 이유는 기존 타입의 추가적인 메모리를 사용할 수 없다는 특성 때문입니다. 기존 타입의 추가적인 메모리를 사용하면, compile 시 instance를 생성할 때 문제를 일으킬 수가 있다고 합니다. 저장 프로퍼티는 추가적인 메모리를 요구하는 프로퍼티이기 때문에 compile 시 문제를 야기하게 되고, 그렇기 때문에 extension 내부에 저장이 불가능 합니.. 2024. 4. 8.
super.viewDidLoad를 호출하는 이유 ViewController를 만들 때 기본적으로 구현되어 있는 코드이기 때문에 아무런 생각 없이 호출하던 super.viewDidLoad(). 왜 꼭 호출해야 하는 것인지 문득 궁금해져서 알아보게 되었습니다. (viewDidLoad로 특정지었지만 viewWillAppear나 viewDidAppear 등등 여러 override 메서드들에 모두 해당되는 이야기입니다.) SO에도 몇몇 해당 질문들이 있었는데, 'super.viewDidLoad() 메서드를 호출하지 않아도 아무런 문제가 없고 호출했을 때와 차이가 없다. 그런데 왜 꼭 호출을 해야하는가?'를 문의하는 글들이었습니다. 그 중에 가장 저에게 와닿았던 답변은 이러했습니다. Also, let's say you have some view controlle.. 2024. 3. 21.
XCodeCloud & FirebaseSDK 버전 호환오류: Missing Info.plist value...bundle XXX.app/Frameworks/FirebaseAnalytics.framework is required. Firebase SDK 버전이 10.21로 올라가면서 XCodeCloud로 빌드 시에 아래와 유사한 오류가 발생하게 되었음. Error Missing Info.plist value. A value for the key 'MinimumOSVersion' in bundle XXX.app/Frameworks/FirebaseAnalytics.framework is required. Error Invalid Bundle. The bundle XXX.app/Frameworks/FirebaseAnalytics.framework does not support the minimum OS Version specified in the Info.plist. Error The bundle 'Payload/XXX.app/Fram.. 2024. 3. 17.
Struct에서 mutating function을 사용하는 이유 struct를 사용하다보면, 내부에 정의된 프로퍼티 값을 변경하는 function을 정의하는 것은 기본적으로 제한되어 있습니다. 프로퍼티가 var여도 마찬가지 입니다. struct MyStruct { var name: String { willSet { print(newValue) } } func changeName(_ newName: String) { self.name = newName //error: cannot assign to property: 'self' is immutable } } 이는 struct의 기본적인 특징을 알면 왜 그런지 이해하기 쉽습니다. struct는 class와 다르게 struct가 constant로 정의된 경우에 내부 프로퍼티가 var일지라도 변경이 불가능한 특징이 있습니다... 2024. 2. 8.
앱 배포 후 운영 중 회고 작년 말 다이나믹 아일랜드에 날씨 정보를 아이콘과 숫자로 보여주는 날씨 앱을 배포하였습니다. https://apps.apple.com/us/app/weather-island/id6474068474 ‎Weather Island ‎*Weather Island* Use weather icons on Dynamic Island to stay updated with the weather. Key Features: * Hourly and 10-Day Forecasts: Get reliable weather predictions at your convenience. Our app provides hourly updates and an extended 10-day forecast, en apps.apple.com 벌써.. 2024. 2. 7.
Configurable Widget Keyboard type 설정하기 (iOS 17 & above) 사용자 설정이 가능한 Widget은 수정을 허용하는 파라미터의 타입에 따라서 자동적으로 알맞는 키보드를 보여줍니다. 만일 파라미터가 Int 타입이라면 number pad 키보드를, String 타입이라면 text 키보드를 보여줍니다. (원시 타입이 아니라 Dynamic option을 사용할 수도 있습니다. 이 경우는 몇 가지 선택을 사용자가 할 수 있도록 drop down 옵션을 보여주는 데 나중에 제가 직접 사용해 보고 올려보도록 하겠습니다.) String type을 사용했을 때 기본적으로 자판이 영문만 지원이 되는 데, 어떻게 키보드를 바꾸어야 하는 지 한참을 헤맸었습니다. 한국어나 이모지도 쓸 수가 없고 정말 영문만 타이핑 할 수 있는 자판이 나왔습니다. iOS 16 under 버전들의 Siri I.. 2024. 2. 4.
반응형