분류 전체보기 104

SwiftUI alert in iOS14

SwiftUI 개발 중 최소타겟 iOS14버전으로 하는 중 alert이 필요한 상황이 있었다. 아래와 같이 .alert 코드 작성 시 아래에 있는 .alert만 호출이 된다. .alert(isPresented: $presentAlert) { Alert( title: Text("Title"), message: Text("Message") ) } .alert(isPresented: $presentAlert2) { Alert( title: Text("Title2"), message: Text("Message2") ) } 그래서 검색해보니 스택오버플로우에서 활용방안에 대해서 나와있었다. https://stackoverflow.com/questions/58069516/how-can-i-have-two-alerts..

iOS/SwiftUI 2023.01.17

@StateObject vs @ObservedObject 차이점

@StateObject 및 @ObservedObject 프로퍼티 래퍼는 SwiftUI 보기에 관촬된 개체의 변경 사항에 대한 응답으로 업데이트하도록 지시합니다. 두 래퍼는 비슷해 보이지만 SwiftUI에서 앱을 빌드할때 중요한 차이점이 있습니다. What is an @ObservedObject? @StateObject와 @ObservedObject의 차이점을 알아보기 전 @ObservedObject가 무엇인지 이해하는 것이 좋습니다. 두 프로퍼티 래퍼 모두 개체가 ObservableObject 프로토콜을 준수해야 합니다. 이 프로토콜은 객체가 변경되기 전 방출하는 게시자가 있는 객체를 나타내며 SwiftUI가 뷰를 다시 그리기를 그리도록 지시할 수 있습니다. ObservableObject를 준수하는 타입..

iOS/SwiftUI 2023.01.07

프로그래머스 - 가장 가까운 같은 글자 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/142086 배열의 index와 문자열을 활용한 문제인 것 같다. 문제설명 📝 문자열 s가 주어졌을 때, s의 각 위치마다 자신보다 앞에 나왔으면서, 자신과 가장 가까운 곳에 있는 같은 글자가 어디 있는지 알고 싶습니다. 예를 들어, s="banana"라고 할 때, 각 글자들을 왼쪽부터 오른쪽으로 읽어 나가면서 다음과 같이 진행할 수 있습니다. b는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. a는 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니다. n은 처음 나왔기 때문에 자신의 앞에 같은 글자가 없습니다. 이는 -1로 표현합니..

프로그래머스 - 최댓값과 최솟값 (Swift, Level2)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/12939 배열과 문자열의 값을 찾는 문제인 것 같다. 문제설명 📝 문자열 s에는 공백으로 구분된 숫자들이 저장되어 있습니다. str에 나타나는 숫자 중 최소값과 최대값을 찾아 이를 "(최소값) (최대값)"형태의 문자열을 반환하는 함수, solution을 완성하세요. 예를들어 s가 "1 2 3 4"라면 "1 4"를 리턴하고, "-1 -2 -3 -4"라면 "-4 -1"을 리턴하면 됩니다. 제한사항 💡 제한사항 s에는 둘 이상의 정수가 공백으로 구분되어 있습니다. 입출력 예 입출력 예 s result "1 2 3 4" "1 4" "-1 -2 -3 -4" "-4 1" "-1 -1" "-1 -1" 문..

iOS) UIViewController

뷰 컨트롤러란?? UIKit 앱의 뷰 계층 구조를 관리하는 객체 -> "뷰 컨트롤러는 앱의 근간을 이루는 객체로 모든 앱은 최소한 하나 이상의 뷰컨트롤러를 가지고 있는다." 뷰 컨트롤러의 주된 역활 일반적으로 기본 데이터의 변경에 대한 응답, 뷰의 내용을 업데이트 합니다. 뷰와의 사용자 상호 작용에 응답 뷰 크기 조정 및 전체 인터페이스 레이아웃 관리 앱에서 다른 뷰 컨트롤러를 포함한 다른 개체와의 조정 -> 윈도우 객체로 부터 전달된 이벤트를 받아, 내부적으로 구현된 비즈니스 로직을 실행하고, 그 결과로 얻어진 데이터를 콘텐츠를 만들어 화면에 표현하는 등, 모바일 애플리케이션에서 뷰 컨트롤러는 우리가 하는 대부분의 작업들의 중심에 있다고 생각할 수 있다. 뷰 컨트롤러의 종류 ViewController ..

iOS/iOS 2022.12.06

Swift) NumberFomatter

Swift) NumberFomatter NumberFormatter란? 애플 공식문서에서는 숫자 값과 해당 텍스트 표현 간에 변환하는 포맷터라고 소개하고 있습니다. 조금 더 살펴보는게 좋을 것 같네요. OverView에서 이제 NumberFormatter의 인스턴스는 NSNumber 객체를 포함하는 셀의 텍스트 표현을 포맷하고 숫자 값의 텍스트 표현을 NSNumber 객체로 변환합니다. -> 여기서 NSNumber란 기본 스칼라 숫자 값에 대한 객체 래퍼라고 되어 있는데 추후에 자세히 알아봐야 겠네요. 계속해서 NSNumber는 표현에는 정수, 실수 및 복식이 포함되고, float 및 double은 지정된 소수점 위치로 형식화할 수 있습니다. NumberFormatter 객체는 셀이 허용할 수 있는 숫자..

iOS/Swift 2022.12.02

프로그래머스 - 숫자 문자열과 영단어 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/81301 배열과 문자열의 값을 찾는 문제인 것 같다. 문제설명 📝 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 숫자 영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8 eight 9 nine 제한사항 💡 제한사항 1 ≤ s의 길이 ≤ 50 ..

프로그래머스 - 핸드폰 번호 가리기 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/12948 문자열에서 요소들을 바꾸꺼나 인덱스를 찾을 수 있는 능력이 있는가가 중점된 내용인 것 같다. 문제설명 📝 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한사항 💡 phone_number는 길이 4 이상, 20이하인 문자열입니다. 입출력 예 phone_number return "01033334444" "***4444" "027778888" *****8888 ..

프로그래머스 - 문자열 내 p와 y의 개수 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/12916 문자열에서 특정한 문자를 찾을 수 있는 능력이 있는가가 중점된 내용인 것 같다. 문제설명 📝 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 제한사항 💡 문자..

프로그래머스 - 햄버거 만들기 (Swift, Level1)

문제 👇 https://school.programmers.co.kr/learn/courses/30/lessons/133502 일단 문제는 틀렸다... Level1 문제가 만만치 않았다.. 몇 개의 테스트 케이스는 통과했지만 13개 중 6~7개는 실패가 나온다. 문제설명 📝 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료..