분류 전체보기
-
[UIKit]키보드 위에 수정 제안을 비활성화하기공부/iOS 2023. 12. 13. 19:27
오류 발생 원인 자동으로 맞춤법 교정해주거나 사용자의 입력을 예측해서 입력을 돕는 기능은 유용하지만 때에 따라 필요하지 않는 경우도 존재합니다. 아래의 코드를 textfield에 추가해주면 아래와 같이 제거할 수 있습니다. textfield.autocorrectionType = .no textfield.spellCheckingType = .no 그러면 다음과 같이 UIKit에서 맞춤법 검사를 무시할 수 있습니다. 코드 사용 예시 import UIKit class PlaneTextField: UITextField { init(placeholder: String) { super.init(frame: .zero) self.placeholder = placeholder self.autocapitalization..
-
self에서 unexpected 에러가 발생하는 이유공부/iOS 2023. 12. 1. 02:36
현재 UIKit 기반으로 Codebase로 앱을 개발하고 있습니다. 해당 오류는 프로젝트 진행중에 마주했던 문제입니다. Issue 실행 자체는 잘 되었지만 노란색 에러가 발생하는게 거슬려 찾아보게 되었습니다. 저기서 제안하는 방식대로 Fix를 하게되면 이 버튼을 실행할 때 에러가 발생하게됩니다. Solution 해결법은 간단합니다. let으로 선언한 signupButton을 lazy var로 수정하기만 하면 됩니다. Reason 이전 코드에서 self 의 참조에서 문제가 발생한 이유는 signupButton 변수가 초기화될 때 self가 아직 초기화되지 않았기 때문입니다. 우선 let을 사용한 코드에서, signupButton 변수가 초기화 되는 시점에서 클로저가 호출되고 있습니다. 하지만 아직 self..
-
수영장 만들기.swift(백준 1113번)알고리즘관련/문제풀이 2023. 11. 14. 23:11
문제 설명 https://www.acmicpc.net/problem/1113 1113번: 수영장 만들기 지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 16661 61116 16661 이 www.acmicpc.net 지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다. 16661 61116 16661 이 수영장은 15만큼의 물이 들어있는 수영장을 만들 수 있다. 가운데 3개의 칸에 5만큼 물을 채우면 되기 때문이다. 자 이제 가운데 물을 더 추가했다고 ..
-
[iOS인강] 1. AutoLayout/Constraint공부/강의 정리 2023. 10. 20. 17:50
학습 목표 Frame 기반 레이아웃과 AutoLayout의 차이점에 대해 이해한다. Autolayout의 주요 속성에 대해 이해한다. Autolayout으로 비율코딩을 하는 방법에 대해 이해한다. Constraint iOS Constraint의 요소는 크게 크기 속성(size attributes)과 위치 속성(position attributes)으로 나눌 수 있습니다. 크기 속성은 뷰의 너비(width), 높이(height), 너비와 높이의 비율(aspect ratio)을 제한하는 속성입니다. width : 뷰의 너비를 제한합니다. height : 뷰의 높이를 제한합니다. aspect ratio : 뷰의 너비와 높이의 비율을 제한합니다. 위치 속성은 뷰의 상단(top), 왼쪽(leading), 하단(bo..
-
[iOS인강] 0. 시작공부/강의 정리 2023. 10. 20. 16:22
누구나 따라할 수 있는 iOS 클론코딩 ( Feat . 컴공선배 라이징캠프 ) https://www.udemy.com/course/comgongbro_ios_clonecoding/ 예전에 사두었던 iOS 강의를 여유가 생겨 이제야 보게 되었습니다. 저는 클론코딩을 따라하는 것 보단 직접 헤쳐나가는데 의의를 두는 편입니다. 프로젝트를 수행할 때도 필요한 내용은 그때그때 익히고 적용하면서 문제를 해결했습니다. 그러다보니 "낯선 문제"가 주어지면 곧잘 해내지만 "보편적인 문제"에서 속도가 안난다는 것을 느꼈습니다. 저는 이번 강의를 통해 깊이있게 공부하고자 합니다. 이번 강의로 모르는 내용을 알게되고, 아는 내용에는 확신을 가지고자 합니다.
-
[Swift] 와일드카드 패턴(switch, tuple, enum, function)공부/Swift 2023. 10. 17. 22:17
평소 코드를 작성할 때 뭔지도 모르고 자연스럽게 썼었는데, 패턴으로 분류되는 문법이었네요. 특히 와일드카드와 튜플은 코딩테스트 문제를 풀 때 코드를 간결하게 작성하는 목적으로 주로 사용했던 것 같습니다. 패턴이란? '단독 또는 복합 값의 구조를 나타내는 것' 어렵게 써있는 말이지만, 단순하게 표현의 일환이라고 생각하면 되겠습니다. 특히, switch, guard, if, for등의 키워드와 함께 사용할 때 강력합니다. 여러 패턴 중에서 와일드카드에 대해 어떻게 적용하는지 예제 위주로 설명하겠습니다. 와일드카드 패턴 와일드카드 식별자가 위치한 곳의 값은 무시합니다. 와일드카드 : 0개 이상의 문자로 대체할 수 있는 밑줄 _ 와일드카드 패턴 : 일치하는 모든 값을 무시하는 밑줄 _ 와일드카드는 값을 해체하거..
-
Apple Watch (waiting for first unlock) 빌드 에러 해결공부/WatchOS 2023. 9. 25. 17:38
이게 머선 일이고..? (아래 3줄 요약 있어요) 주말동안 심심해서(사실 자소서 쓰다가 짜증나서 딴짓함ㅋㅋ) 애플워치로 간단한 앱을 만들었습니다. 메이플스토리 샤타포스 이벤트를 준비하는 마음가짐으로 뚝딱... 펑~ 에잉 이제 애플워치에 넣고 마무리해야겠다~ (사진은 캡쳐 안해둬서 퍼옴) 왜 안돼? 문뜩 자꾸 기다리라고만 하는 Xcode를 보고있으니 메이플스토리 전 디렉터분이 생각났습니다.. 원인 분석 이 녀석 시간이 지나면 해결이 될줄 알았습니다. 한참 선 꼽아놔도, 애플워치의 비밀번호를 해제해도 안되더라구요. 그러다 개발자 포럼의 글을 찾게 되었습니다. 알고보니의 Apple Watch (waiting for first unlock) 에러는 한참 전부터 존재했고 원인 불명으로 발생했습니다. 실제 개발을 ..
-
싸이버개강총회.swift(타임스탬프 형태의 문자열 비교)알고리즘관련/문제풀이 2023. 8. 5. 11:46
소개 BOJ19583.swift 매번 보던 패턴과 풀이방법은 굳이 안올리는 편이라 알고리즘 풀이는 잘 올리진 않았습니다. 하지만 이번 문제는 되게 재밌게 풀었던 기억이 있어서 올렸습니다. https://www.acmicpc.net/problem/19583 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S < E < Q ≤ 23:59) 각 시간은 HH:MM의 형식으로 주어진다. 두번째 줄부터는 www.acmicpc.net 설명 문제를 다 읽고난 뒤에 생각해보면 특이한 점을 발견할 수 있습니다. 이 문제는 특이하게도 입력의 개수가 몇개인지 알 수 없고, 모든 입력이 종료가 되면 정답을 출력해야..