코드로 계산기 UI 만들기
개발일지2024. 11. 22. 11:39코드로 계산기 UI 만들기

개요UI를 코드로 구현하면서, 생각보다 제대로 잘 되지 않는 느낌을 받았습니다.구현하는 도중 문제가 발생했지만, 운이 좋게도 이번에는 하나의 스택뷰만 해결하면 같은 구조라 해결이 쉬웠고,그 해결 과정을 공유합니다. 발단UI로 코드를 구현하고 있었고, 아무래도 Stroyboard처럼 눈으로 실시간으로 보면서 하는게 아니다보니,그리고 내가 직접 UI들을 만지며 배치하는 것이 아니다보니, 아직 생각한 것만큼 자유롭게 배치하기는 조금 힘들었습니다. 코드로 가장 기본이 되는 view를 구현했을때 이러한 모습으로 구현되었습니다.왼쪽으로 치우쳐져 있고, 사이즈가 제대로 출력되지 않았습니다. 전개Trouble 1. let btn8 = UIButton().then { $0.setTitle("8", for: .nor..

코드베이스 UI 작성을 위한 셋팅
OS/iOS2024. 11. 20. 16:51코드베이스 UI 작성을 위한 셋팅

코드베이스 UI스토리보드나 SwiftUI를 사용하지 않고 코드로 직접 UI를 구현하는 것을 말한다. 장점협업을 위해 깃허브에 올렸을때 가독성이 좋고 매우 깔끔하게 보기 좋다는 장점이 있다. 단점단점으로는 보면서 할 수가 없기 떄문에, 일일히 실행을 시켜줘야한다는 장점이 있다.  코드베이스로 코딩하기 위해 3가지 사항을 먼저 수행해 주어야 한다.우리는 Storyboard를 사용하지 않을 것이기 때문에, 이것과 관련된 연결을 모두 끊어주어야 한다.  1. Main.storyboard 제거   2. info.plist에서 Storyboard Name 부분 제거   3. 프로젝트를 누르고, Build settings로 이동한뒤 Main 검색, 그리고 제거  이제 스토리보드와의 연결은 완벽하게 끊어졌고, 시작점을..

[iOS] Stack View
OS/iOS2024. 11. 19. 21:13[iOS] Stack View

Stack View스택 뷰란, 뷰들이 스택으로 쌓여있는 형태의 뷰를 말한다.Vertical(수직), Horizontal(수평) 두가지의 스택 뷰가 있다.   Horizontal Stack View cmd + shift + L을 눌러서 stack을 검색하면 두가지 view가 나온다.  그리고 놓으면 여타 뷰들 처럼 그냥 흰색의 직사각형이 하나 생긴다.잘 안보이기 때문에, 배경색을 집어넣고  크기를 바꿔보자. 배경색은 오른쪽 인스펙터 영역에서, 크기는 Constraints에서 바꿔주도록 하겠다.  두가지 다 설정을 해주고 나면,   요런식으로 Vertical Stack View가 커졌다! 이제 이름처럼 stack을 해보자.똑같이 cmd + shift + L을 누르고, view 3개를 만들어서 Stack Vi..

Swift 디버깅
OS/iOS2024. 11. 15. 20:29Swift 디버깅

디버깅이란,프로그래밍 과정 중 발생하는 오류나 버그를 찾는 작업을 디버그라고 하고,디버그하는 과정을 디버깅이라고 한다.본 포스팅에서는 디버깅에서 사용되는 세가지 방법을 정리해보고자 한다.  Print문디버깅 중, 정확한 값이 출력되는지 알아보기 위해 Print문을 사용해서, 그 부분에서 출력되는 값을 알아보는 방법이다.func numberMaker() -> Int { return Int.random(in: 1...100)}let randomNumber = numberMaker()//print문으로 현재 어떤 값이 출력되고 있는지 확인.print("random number is \(randomNumber)")문자열 보간에 대한 글을 읽고 오면 이해가 쉽다. Swift 기본 문법 - 문자열 보간(Str..

[Xcode] 유용한 단축키 등 팁 모음. (문서용 주석, Navigation 단축키 등)
IDE/Xcode2024. 11. 12. 21:18[Xcode] 유용한 단축키 등 팁 모음. (문서용 주석, Navigation 단축키 등)

Navigation 단축키 Xcode에서 Navigation영역을 단축키로 조금 더 쉽게 이동하고 싶다면 cmd + 1~9를 누르면 이동.그럼 Navigation영역을 껐다 켰다 할 때는? cmd + 0Navigation영역에 있는것들은 다 중요하지만,개인적으로 정말 유용하다고 생각되는 것은, Cmd + 3. 북마크 탭이다. 북마크를 하고 싶을때는 그냥 간단하게 원하는 파일에서 우클릭을 한 후 북마크 하면 된다. 밑에서 3번째   문서용 주석 일반 주석은 //두개로 이루어져 있지만,문서용 주석은 ///세개로 이루어져 있다. 문서용 주석에는 규칙이 있는데, 보통 첫번째 줄에는 해당 객체가 어떤걸 의미하는지 설명해주는 내용을 작성한다.그리고 두번째 줄은 건너뛰고, 세번째 줄부터 내용을 작성한다. 그리고 샘플..

iOS 개발 중 검색 팁
개발지식2024. 11. 11. 22:42iOS 개발 중 검색 팁

iOS 개발을 하다보면분명히 항상 검색을 할 것이다.그럴때는 항상 키워드를 iOS로 검색하는 것이 아닌,Swift로 검색해야 한다.iOS로 검색하면 개발에 관련된 포스트가 아닌 아이폰에 관련된 포스트가 주로 나오기 때문이다.  iOS 카메라 개발 - XSwift 카메라 개발 - O 실제로 검색해보면 iOS는 아이폰 카메라와 관련된 포스트가 절반정도 나오는 반면,Swift로 검색하면 카메라 기능 관련 개발 포스트만 나온다.

(작성중)Swift 기본 문법 - Enumeration(열거형)
Language/Swift2024. 11. 5. 21:21(작성중)Swift 기본 문법 - Enumeration(열거형)

Enumeration(열거형)- 연관된 상수들을 하나의 이름으로 묶은 것.- 열거형에 포함된 상수들은 상수라고 하지 않고, Enumeration Case라고 부른다.- Int나 String처럼 독립적인 타입이다. = 이름을 가지고 있다.- 스코프 내에서 중복되지않는 이름을 가져야 한다.- 열거형의 case는 값이다. //Syntaxenum TypeName { case caseName case caseName, caseName}- case의 이름은 lowerCamelCase의 규칙을 따라야 하며, 중복되어서는 안된다. Associated Values (연관 값)    Raw Values (원시 값)각 case마다 기본으로 설정된 원시값을 저장할 수 있다. 즉 초기값을 저장할 수 있다.타입을 지정..

간단한 계산기 구현에 대한 트러블슈팅
개발일지2024. 10. 30. 23:22간단한 계산기 구현에 대한 트러블슈팅

1. 개요간단한 계산기 앱을 구현하게 되었다. 세가지 단계로 나뉘어 있었지만, 결국 종합해보면 다음과 같았다.조건은 아래와 같다. - 더하기 빼기 곱하기 나누기 등 연산을 구현할 수 있는 Calculator class를 만들어서 결과 출력- 그리고 더하기 빼기 등등의 연산을 따로 class로 빼서 Calculator class와 관계맺기- 결국 계산을 하는 Calculator클래스와 각각의 연산을 담당하는 부분을 별도의 class로 분리함- 프로토콜을 사용하여 추상화 하기  먼저 완성된 전체 코드를 보자// 추상화protocol Operation { func result(num1: Double, num2: Double) -> Double}// 덧셈 연산class AddOperation: Operat..

Swift 기본 문법 - Double 타입에서 나머지 구하기(TruncastingRemainder)
Language/Swift2024. 10. 29. 15:46Swift 기본 문법 - Double 타입에서 나머지 구하기(TruncastingRemainder)

Swift에서 나머지를 구해보자.나머지와 나누기를 헷갈리는 경우가 많은데,나누기 연산자는 /나머지 연산자는 % 이다. 나머지 연산자는 정수형(Int)에서만 지원하기 때문에,만약 데이터 타입이 Double이라면, truncatingRemainder를 사용해야한다. 값1.truncatingRemainder(dividingBy: 값2)let num1:Double = 10let num2:Double = 7print(num1.truncatingRemainder(dividingBy: num2))위의 문법을 보면 바로 이해할 수 있을 것이다.값1을 값2로 나눈다고 이해하면 된다.  예시를 보자.func left(num1: Double, num2: Double) -> Double { let leftResu..

Swift 기본 문법 - Tuple
Language/Swift2024. 10. 28. 23:19Swift 기본 문법 - Tuple

TupleTuple이란?- 두개 이상의 값을 저장할 수 있는 Compound Type이다. 즉 여러 값의 묶음이라고 보면 된다.- 서로 다른 타입의 값을 저장하는 것도 가능하다.- 튜플 내의 값들은 순서대로 저장되며, 값들은 각각의 고유한 인덱스를 가진다.- 튜플에 저장되는 값의 수는 튜플을 만들때 결정되고, 그 이후에는 변경할 수 없다.- 튜플은 값 형식이기 때문에, 새로운 변수에 저장하면 기존에 있던 값이 복사된다.- 상수로 선언하면 불변, 변수로 선언하면 가변 튜플이 된다. 예시들을 보자.let GpuPrice = ("3050", 50, "3060", 60, "3070", 70)GpuPrice.0 //"3050"GpuPrice.1 //50GpuPrice.2 //"3060"소괄호 ( )와 ,로 ..

image