swift 36

[iOS / UIKit] Notification과 Delegate으로 Data를 주고받는 것에 관하여

안녕하세요! 앞서 두 글을 소개한 바 있습니다! (1) Notification을 활용하여 ViewController 간 Data 전달하기 https://tdcian.tistory.com/355 [iOS / UIKit] Notification을 활용하여 ViewController간 Data 전달하기 안녕하세요~ 오늘은 Notification을 활용하여 두 ViewController 사이에 Data를 주고받는 방식을 한 번 알아봅시다! 모달 방식으로 보여지는 SendingViewController의 텍스트필드에 내용을 입력하고 'Send Data' tdcian.tistory.com (2) Delegate을 활용하여 ViewController간 Data 전달하기 https://tdcian.tistory.co..

iOS/UIKit 2023.04.10

[iOS / UIKit] Delegate을 활용하여 ViewController간 Data 전달하기

안녕하세요~ 오늘은 Delegate을 활용하여 두 ViewController 사이에 Data를 주고받는 방식을 한 번 알아봅시다! 모달 방식으로 보여지는 SendingViewController의 텍스트필드에 내용을 입력하고 'Send Data' 버튼을 클릭하면 해당 내용이 ReceivingViewController의 중앙에 있는 Label을 업데이트 시킵니다. 어떻게 만들었는지 바로 코드 보여드리겠습니다! (1) 데이터를 받아 화면 중앙의 Label을 업데이트 시키는 ReceivingViewController입니다. (2) TextField에 입력된 내용을 Notification을 통해 ReceivingViewController로 전달하는 SendingViewController입니다. 전체 소스코드가 ..

iOS/UIKit 2023.04.10

[iOS / UIKit] Notification을 활용하여 ViewController간 Data 전달하기

안녕하세요~ 오늘은 Notification을 활용하여 두 ViewController 사이에 Data를 주고받는 방식을 한 번 알아봅시다! 모달 방식으로 보여지는 SendingViewController의 텍스트필드에 내용을 입력하고 'Send Data' 버튼을 클릭하면 해당 내용이 ReceivingViewController의 중앙에 있는 Label을 업데이트 시킵니다. 어떻게 만들었는지 바로 코드 보여드리겠습니다! (1) 데이터를 받아 화면 중앙의 Label을 업데이트 시키는 ReceivingViewController입니다. (2) TextField에 입력된 내용을 Notification을 통해 ReceivingViewController로 전달하는 SendingViewController입니다. 전체 소스..

iOS/UIKit 2023.04.10

[Swift] 탈출 클로저(Escaping Closure)

갑자기 탈출이라고? 함수의 전달인자로 전달한 클로저가 함수 종료 후에 호출될 때 클로저가 함수를 탈출(Escape)한다고 표현합니다. 클로저를 매개변수로 갖는 함수를 선언할 때 매개변수 이름의 콜론(:) 뒤에 @escaping 키워드를 사용하여 클로저가 탈출하는 것을 허용한다고 명시해줄 수 있습니다. 비동기 작업으로 함수가 종료되고 난 후 호출할 필요가 있는 클로저를 사용해야 할 때 탈출 클로저(Escaping Closure)가 필요합니다. 만약 @escaping 키워드를 따로 명시하지 않는다면 매개변수로 사용되는 클로저는 기본적으로 비탈출 클로저입니다. 함수로 전달된 클로저가 함수의 동작이 끝난 후 사용할 필요가 없을 때 비탈출 클로저를 사용합니다. 클로저가 함수를 탈출할 수 있는 경우 중 하나는 함수..

iOS/Common 2023.04.10

[Objective-C] Variables and constants / Paul Hudson의 Objective-C cheat sheet

1. Variables and constants (1) Variable (2) Constant (3) Variable array (4) Constant array (5) Adding a value type to an array (6) Dictionary (7) Enum (8) Appending a string (9) Adding to a number (10) String interpolation (11) Printing debug information 참조: https://www.hackingwithswift.com/articles/114/objective-c-to-swift-conversion-cheat-sheet Objective-C to Swift conversion cheat sheet Here..

iOS/Objective-C 2023.04.08

[Swift] 누구를 위하여 async/await는 울리나

Q. Swift에 async/await가 도입된 시기는 언제이며, 무엇을 대체하기 위해 등장하였는지 알려줘 A. Swift에 async/await가 도입된 시기는 2021년 WWDC(애플의 개발자 대회)에서 발표되었습니다. 이는 Swift 5.5에서 새로 추가된 기능으로, 애플이 개발한 비동기 프로그래밍 모델입니다. async/await는 Swift에서 비동기 코드를 작성하기 위한 새로운 방법으로, 기존의 GCD(Grand Central Dispatch)와 같은 비동기 프로그래밍 패턴을 대체하기 위해 등장했습니다. GCD는 불편하고 복잡한 코드를 만들기 쉬웠기 때문에, Swift에서는 간단하고 직관적인 코드를 작성할 수 있도록 async/await를 도입했습니다. 또한, async/await는 비동기적인..

iOS/Common 2023.03.22

[iOS / UIKit] How to add 'done' button on keyboard

UITextField나 UITextView 우측 상단에 '완료' 버튼을 넣는 방법을 알아봅시다! 기본적으로 이렇게 키보드가 올라왔을 때는 아무런 버튼이 없습니다. 여기에 타이핑을 끝낸 후 키보드를 내릴 '완료' 버튼을 달면 이렇게 보입니다! 어떻게 만들었을까요? 바로 코드를 봅시다! 짐작하시겠지만 UITextField뿐만 아니라 UITextView에도 같은 방식으로 적용 가능하십니다! GitHub에 전체 Code 올려두었습니다! https://github.com/TDCIAN/HowToAddDoneButtonOniOSKeyboard GitHub - TDCIAN/HowToAddDoneButtonOniOSKeyboard Contribute to TDCIAN/HowToAddDoneButtonOniOSKeyboa..

iOS/UIKit 2023.03.06

[iOS / UIKit] How to send email Swift

How to send email Swift 안녕하세요! 오늘은 iOS앱 개발 과정에서 Email 기능을 구현하는 방법을 알아봅시다! + Email에 파일을 첨부하는 방법도 함께 알아봅시다! 바로 전체 코드를 보여드리겠습니다! Email 기능을 활용하려면 Mail 앱에 계정이 등록되어 있어야 합니다! Mail 앱에 계정이 등록되어 있어야 if MFMailComposeViewController.canSendMail() 조건문에서 true를 받을 수 있습니다! GitHub 링크입니다! https://github.com/TDCIAN/SendEmailWithSwift GitHub - TDCIAN/SendEmailWithSwift Contribute to TDCIAN/SendEmailWithSwift develop..

iOS/UIKit 2023.02.13

[iOS / UIKit] How to use PreviewProvider in UIKit

How to use PreviewProvider in UIKit 안녕하세요! 오늘은 UIKit에서 PreviewProvider를 사용하는 방법을 알아봅시다! PreviewProvider는 SwiftUI에서만 사용할 수 있는 게 아닌가 생각하실 수 있겠지만 UIKit에서도 활용할 수 있습니다! 일단 사진부터 보시죠! PreviewProvider 부분만 확대해서 다시 보여드리겠습니다! 전체 코드도 보여드리겠습니다! UIKit 상황에서 개발한다고 하더라도 PreviewProvider를 활용하시려면 반드시 SwiftUI를 import 해주셔야 합니다! 맥북 성능에 따라 PreviewProvider를 사용하시는 게 시뮬레이터나 실기기를 활용하는 것보다 유리할 수도 있고, 그러지 못할 수도 있으니 현재 상황에 맞춰..

iOS/UIKit 2023.02.12

[Swift] 맵 삼형제(map, flatMap, compactMap)에 대해 알아봅시다

(1) map 애플 개발자 홈페이지에 있는 map에 대한 설명입니다. 배열 내부의 요소들을 매핑해서 돌려준다네요! 그런데 mapping이 뭘까요? 구글에 물어봅시다. 역시 명쾌하다! 구글! 여기 말고 이번에는 해시넷에서 봅시다(블록체인 관련된 정보들이 참 많습니다). 아까보단 훨씬 낫죠? 그래도 이해가 잘 안 될 수 있습니다. 코드로 보시죠! 바로 감이 오시나요? numbers 배열의 각 요소에 1을 더한 애들을 배열에 담아 보여 줍니다. 다른 예시를 한 번 들어볼까요? 아까 사용했던 numbers를 그대로 사용하는데, 이번에는 numbers 내부의 각 요소를 String 타입으로 활용해봤습니다. 이렇게 축약해서 쓸 수도 있습니다. 이번에는 한 번 스까서 써볼까요?? numbers의 각 요소에 3을 더한..

iOS/Common 2022.06.10