목록전체 글 (20)
욤찌의 개발 일기

어제에 이어서 오늘도 계속되는 iOS 면접 질문 타파 !!!!! 나는 그저 initializer 공부를 하려고 했는데,, 하다보니까 상속이랑 재정의도 공부하게 되고,, 그러다 보니까 어쩌다 보니까 class 전체를 공부하게 되었다가 ,, 하루가 다 가부렀다,,~ 이러다가는 today에 배운 것을 오늘 안에 못적을 것 같아서,,^^ 황급히 마무리하고 Convenience Initializers 만 간단하게 쭈절쭈절 해보겠다 💡Convenience init에 대해 설명하시오. 1) 일단 그 전에 초기화란 무엇인가! 구조체, 열거형, 클래스의 인스턴스를 생성하는 것을 초기화라고 함. 초기화에서 가장 중요한 것은! 인스턴스가 초기화될 때, 저장 프로퍼티는 초기값을 반드시 가지고 있어야 함. Stored prop..
이 얼마만의 블로그인가,, 그동안 게을렀던 과거의 나(사실 현재의 나도 ㅋ) 반성해,, 째뜬 이제는 더이상 물러날 곳이 없다,, 그래서 해본다 공부. iOS 취준생들은 다 알고 있는 바로 이 iOSInterviewquestions를 한 번 파보기로 했다. https://github.com/JeaSungLEE/iOSInterviewquestions GitHub - JeaSungLEE/iOSInterviewquestions: 👨🏻💻👩🏻💻iOS 면접에 나올 질문들 총 정리 👨🏻💻👩🏻💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub. github.co..

요즘 앱을 사용하다 보면 상단의 버튼을 통해 뷰의 이동을 쉽게 할 수 있는 것을 볼 수 있다. 바로 이것!!! 앱에서 중요한 요소 중 하나가 view들 간의 이동이 쉬워야 하고 직관적이어야 한다고 생각하기 때문에 이 기능이 생각보다 많이 쓰인다는 사실을 알게 되었다. 그래서 이번 프로토타입 구현 수업을 통해 앱의 UI를 구현하다 보니 이 기능을 사용하고 싶었다. 하고 싶은 기능은 사용가능한 제품과 이미 사용한 제품을 보여주는 각각의 뷰를 저 버튼으로 뷰를 이동하면서 보여주고 싶었댜,,!!!! 그래서 처음에는 어떻게 구현할까 생각을 하다가 아무래도 누르는거니까 버튼을 사용하는 것이 아닐까..? 아 근데 view가 변하니까 navigationLink를 써야되나,, 하면서 일단 구현해보기로 한다. . . . ..

오느른..~ swiftUI로 앱을 만들다가 만나게 된 이슈를 해결한 과정을 보여드릴까 합니댜 swiftUI로 몇 가지 아~주 작은 앱들을 만들어 보면서 최근에 배우게 된 Alert를 많이 사용하게 되는데 그을쎄 요 Alert가 코드로 넣는다고 다 나오는게 아니더군여~! 그래서 어떤 이슈가 있었고 어떻게 해결했는지 과정을 한 번 기록해볼까 함다 어쩌면 별거 없을 수도 있지만 저에게는 꽤나 대박발견인 사건이라,,! 일단 어떤 앱을 만들고 있었는지를 보여드릴게용용용 엄청 별거 없는 앱일 수도 있으니 기대는 접어두시거.. 빈 화면이 나타나고 sheet를 통해 이미 설정되어있는 캐릭터를 추가해서 추가된 캐릭터들을 정렬해보는 앱임다,, 쿄쿄 그래서 캐릭터가 추가되거나 정렬을 하기 전에 alert를 통해서 그 작업을..

바로 앞 글에 이어서 두번째 ARC 알아보는 시간..~ 글이 길어지는 것 같아서 나눈거임,, 귀찮은거 절대 아님,, 그래서 강한 참조 사이클을 해결하기 위해서 어떻게 해야하는가~ 💡Resolving Strong Reference Cycles Between Class Instances 클래스 인스턴스 간의 강한참조사이클을 해결하기 위해서 2가지 방법이 존재하는데 바로 약한참조(weak reference)와 미소유참조(unowned reference)임. 이 방법들을 사용하면 강한 참조를 하지않고도 다른 인스턴스를 참조할 수 있음. 그래서 서로의 인스턴스에 접근은 가능할 수 있으나 중요한 것은 RC 값을 올리지는 않는다!!! 대신 서로를 강하게 참조하지 않기 때문에 서로의 인스턴스를 유지시킬 수 있는 힘은 ..

앱 만들기를 하다보면 가끔 내가 너무 swift 지식이 부족한 것 같다고 느끼던 요즘,, 대충 알고 있는 것들을 확실히 알아보자 !!! 하면서 정리를 하고 있음 그래서 오늘은 지난주 강의에서 언급 되었던 ARC에 대해서 공부해보았숨다 공식문서에 정리가 잘 되어있어서 열심히 파보았움 💡ARC (Auto Reference Counting) 클래스의 인스턴스와 클로저와 같은 참조 타입은 모두 메모리 공간의 힙 영역에 자동적으로 할당됨. 힙 영역은 개발자가 메모리를 할당하고 해제함으로써 메모리를 효율적으로 관리해야 하는데 사실 swift에서는 개발자가 직접 힙 영역에 할당하고 해제할 필요가 없음. 왜냐!!!! ARC 시스템이 알아서 해주기 때문 !!! "잠깐,, 그러면 Reference Counting이 뭔데...
SwiftUI로 로그인화면을 구현해 보면서 이것저것 많이 공부해 보려고 여러 가지 구현 조건들을 설정했었는데 그중에 하나가 "ID TextField를 first responder로 지정하기" 였당 사실 UIKit을 많이 다뤄보지는 않아서 아직 경험해보지는 못했지만, UIKit에서는 becomeFirstResponder 메서드로 first responder를 비교적 쉽게 적용할 수 있었지만 swiftUI에는 동일한 기능이 없어서 UIKit의 기능을 빌려 써야 했다고 한다ㅠ..! 그런데! iOS 15 버전 이상부터 온전히 swiftUI의 기능으로 first responder를 설정할 수 있게 되었는데 그것이 바로 @FocusState라는 property Wrapper 이다!! @Focus State A pr..
현재 swift를 공부하면서 UIKit과 SwiftUI를 왔다리~ 갔다리~ 하고 있당 (그래서 대충 힘들다는 뜻..) UIKit과 SwiftUI를 조금씩 맛보기하면서 둘의 차이를 정말 많이 느끼는 중이다. 사실 무엇 하나가 특~별히 좋다! 라는 느낌보다는 둘의 차이가 확실하기 때문에 두 개의 장단점을 비교할 수 있어서 흥미롭다. 아무래도 둘 사이의 여러가지 차이점이 있겠지만, 지금까지 이 iOS 응애가 느낀 최대의 차이점은 class로 앱을 구성하는가 struct로 구성하는가의 차이가 아닐까 싶다. 클래스와 구조체,, 늬들 같은 집안인줄 알았는데 왜 그렇게 다른데ㅠ!! 라는 마음에서 시작하는 오늘의 TIL~ swift를 말할 수 있는 스위프트의 여러가지 특성들이 있겠지만, 그 중에서 가장 중요하다고 여겨..

이전에 포스팅 한 를 조금씩 업그레이드 하고 있는데, 일단 가장 먼저 하고싶었던 것이 아이디와 비밀번호를 입력하지 않으면 이용약관 토글이 활성화가 되지 않는 것이었다. 그러니까 아이디와 비밀번호 두가지가 모두 다 입력 되어야만 토글이 활성화가 되게 만드는 !!!!! 그래서 아주 포포포포포폭풍 검색을 하다가 .onChange 를 만나게 되었다. https://developer.apple.com/documentation/swiftui/scene/onchange(of:initial:_:)-7b6vh onChange(of:initial:_:) | Apple Developer Documentation Adds an action to perform when the given value changes. develop..

요즘 내가 가장 빠져있는 것은 우리 모공모공 스터디 모임..🥰 이제 문법 공부도 쬐애끔 진도도 나갔겠다,, 슬슬 SwiftUI 를 시작해보자는 차원에서 그 첫번째 과제가 바로 로그인 화면 만들기! 우리가 참고한 로그인 화면 구성은 1. 제일 윗 줄에 Log in 타이틀이 제일 크게 자리잡고 2. 아이디와 비밀번호를 입력하라는 메세지 3. 이메일 형식의 아이디와 비밀번호를 입력할 수 있는 텍스트필드 4. 약관에 동의하는 토글 버튼 생성 5. Sign in 버튼 생성 이런 형식의 가장 기본적인 로그인 화면 구성이었다. 그리고 덧붙여서 구현하기로 했던 조건들이 있었는데, 1. 아이디는 이메일 형식만 입력될 수 있도록 한다. 2. 아이디와 비밀번호 칸이 모두 입력되어 있고, 약관 동의 토글 버튼이 활성화 되어 ..