Swift

iOS

Swift로 코딩테스트 시작하기, 시간복잡도, 공간복잡도, 입출력

"무엇"을 사용해서 코딩테스트를 준비해야 하나? macOS > Command Line Tool(명령어 라인 도구)로 새로운 프로젝트를 생성합니다. 🤷‍♂️: 왜 playground에서 실행 안 하고 Command Line Tool에서 실행하는 걸까요? 🐶: 대부분의 OJ 플랫폼에서는 직접 입출력 부분까지 구현해야 합니다. playground에서는 readLine() 메서드를 사용할 수 없기 때문에 Command Line Tool을 사용해야 합니다. 또한 playground에서는 REPL(Read-Equal-Print Loop) 방식으로 동작하기에 디버깅이 어렵습니다. 이런 이유로 코딩테스트를 준비하기 위해서는 Command Line Tool을 사용합니다. "어디서" 코딩테스트를 연습할 수 있는가? 일반적..

iOS/UIKit

[Swift] Localization, 앱 현지화하기 (1)

🤔 현지화가 왜 필요할까? 앱스토어는 175개의 지역에 40개의 언어로 전 세계 사용자들에게 서비스를 제공합니다. 앱을 그 나라의 문화와 언어에 적합하게 만든다면 더 많은 이용자를 유입시킬 수 있겠죠! 배포한 앱이 여러 나라의 언어를 지원한다면 각국의 사용자들의 대한 통계 및 정보들도 확인할 수 있죠! 흠... 그렇다면 그냥 언어를 번역만 하면 되잖아? . . . 라고 생각한다면 오산입니다! 언어 외에 고려해야 할 부분들이 있습니다 🌏 다양한 현지화의 예시 아랍 문화권의 RTL 대표적으로 재미있는 예시를 들어보자면, 아랍권 문화에서는 Left To Right가 아닌 Right To Left로 글을 읽습니다 별점 표시도 왼쪽에서 오른쪽으로 채우는 것이 아니라 그 반대인 오른쪽에서 왼쪽으로 채웁니다. 참 신..

iOS/UIKit

[Swift] 오픈소스 라이브러리 사용하기 (2): Kingfisher로 URL 이미지 다운로드하기

오늘은 오픈소스 라이브러리인 Kingfisher를 이용해 웹 URL 이미지를 불러와볼게요! 오픈소스 라이브러리를 이용하면 더욱 간단하고 활용성 높게 코드를 작성하고 강력한 기능들을 확장하여 사용할 수 있어요! Kingfisher란? Kingfisher는 이미지 다운로르 및 캐싱 라이브러리예요. URL을 통해 이미지를 비동기적으로 다운로드하고 캐시에 저장해 나중에 재사용할 수 있도록 도와주죠. 앱을 이용하면서 서버에서 이미지를 다운로드하고 화면에 표현하는 경우가 아주 많습니다. 이 과정에서 네트워크 연결이 느리거나 이미지를 반복해 다운로드해야 할 수 있어요. Kingfisher는 캐시를 사용해 다운로드한 이미지를 저장하여 다운로드를 더 효율적으로 처리하는데 도움을 줘요. 즉, URL로 외부 이미지(웹 이미..

iOS/UIKit

[Swift] 동적으로 셀 높이 가져오기! automaticDimension : TableViewCell의 Dynamic Height

1. 오토레이아웃 설정하기 오토레이아웃에서 heigt을 잡아버리면 적용될수없다! 주변을 여백으로 설정해야함.... 2. Label의 numberOfLines 0 3. automaticDimension

iOS/UIKit

[Swift] 알림창 Alert 띄우기, UIAlertController

오늘은 아래와 같은 알림창을 띄워보겠습니다! alert은 즉시 중요한 정보를 사용자에게 전달하는 역할을 합니다! https://developer.apple.com/design/human-interface-guidelines/alerts Alerts | Apple Developer Documentation An alert gives people critical information they need right away. developer.apple.com 스토리 보드에 버튼을 하나 불러오고 이 버튼을 누르면 alert창이 뜨게해보겠습니다! control을 누른 상태로 Button에서 ViewController 파일까지 드래그합니다. 원하는 변수명을 짓고 Connection은 Action으로 선택하여 새로운..

iOS/UIKit

[Swift] 앱의 기본 모드를 Dark mode, Light mode로 변경하기

앱의 기본 모드를 Dark mode로 변경하고 싶습니다. Xcode 좌측 네비게이터 영역에서 lnfo.plist를 선택합니다. Information Property List에 Appearance를 추가합니다. Appearance의 Value값을 Dark로 지정합니다. 이제 디바이스가 Light mode인 상태로 앱을 실행해도 Dark mode로 앱이 실행됩니다. 반대로 앱의 기본 모드를 Light mode로 지정하고 싶다면 Appearance의 Value값을 Light로 지정합니다

iOS/UIKit

[Swift] User Interaction Enabled, 응답하지 않는 뷰 활성화하기

View에 ImageView를 중첩하여 올려놓습니다. 보다 더 잘 보이게 하기 위해 View의 backgroundColor는 Yellow를, ImageView의 backgroundColor는 Purple을 지정했습니다 또한 각각 tap Gesture를 적용시켜 View를 누르면 Tap UIView가 출력되게, ImageView를 누르면 "Tap UIImageView"가 출력되게 합니다 시뮬레이터를 실행시키고 각각을 눌렀을 때를 예측해보자면 노란색을 누르면 "Tap UIView"가 출력되고 보라색을 누르면 "Tap UIImageView"가 출력돼야 할 것 같습니다! 이제 시뮬레이터를 실행해서 확인해 봅시다! 오잉? 보라색 부분을 아무리 눌러도 왜 "Tap UIView"로 출력되는 걸까요? UIImageVi..

iOS/UIKit

[Swift] @discardableResult로 warning 메세지 없애기

Int값을 반환하는 함수를 만들고 호출합니다. 이때, 함수에서 반환하는 정수값을 받지 못하기에 오류가 Warning Message가 발생합니다. Warning Message가 발생해도 빌드에는 문제가 없고 함수를 사용하면서 "함수가 실행되었어용"이 출력됩니다. 빌드에는 문제 없으니 이 함수를 계속 사용하기로 해요. 그런데 Warning Message를 보지 않고 싶어요! 이때 함수 위에 @discardableResult 를 작성하면 Warning Message가 보이지 않습니다. 주의할 점은 Warning Message는 없앨 수 있지만 Error Message는 없앨 수 없습니다!

쨈미니
'Swift' 태그의 글 목록