일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- StateObject
- OS
- 데이터베이스
- 소프트웨어분석및설계
- 운영체제
- 데이터베이스 공부
- 네이버 치지직
- Swift 디자인패턴
- Apple Developer Academy @ POSTECH
- ObservedObject
- ObservableObject
- 동시성 프로그래밍
- Swift 기능
- useReducer
- memoization
- global soop
- swift문법
- 제앱소
- 치지직
- thread safe
- 앱 비교 프로젝트
- react
- 네이버 부스트캠프
- iOS 개발 오류
- 숭실대
- 애플 디벨로퍼 아카데미
- Swift 문법
- 애플 디벨로퍼 아카데미 후기
- 애플 디벨로퍼 아카데미 21주차 회고
- SWIFT
- Today
- Total
목록분류 전체보기 (285)
사과하는 제라스
보호되어 있는 글입니다.
MVC 패턴을 이용해서 코드를 짜다보면 Model의 기본 구조를 무엇으로 할 지 고민이 될 때가 있다... 둘의 차이점은 가장 큰 건 값복사냐 사실은 모든 파일에 대해서도 이건 class로 짜야하나? struct로 짜야하나? 고민될 때가 많다. 누가 정답 좀 알려주면 좋을텐데... 그래서 좀 정리해보기로 했다. 웅장해지는 struct와 class 세계관 싸움..!! 1. MVC패턴에서의 Model 일단 이때는 하나의 Model을 여러 Controller에서 접근을 하냐마냐에서 갈린다. 여러 곳에서 접근을 할 경우에는 값타입의 struct보단 class로 구현하는 것이 좋다. 또한, 프로젝트의 규모가 커질수록 struct보단 class로 구현하는 것이 좋다. 보통 실무에서는 class를 많이 사용하게 된다..
Xcode에서 스토리보드를 활용하여 개발을 하다보면 가끔 StoryBoard에 대한 Assistant가 뜨질 않는 이슈가 있다. 왼쪽에 띄워두고서 개발을 해야 하는데 왜 자꾸 안뜨나...싶어서 찾아보니...!! 가끔 그런다고 한다. 그래서 보통 다들 Xcode의 DerivedData를 비워주는 방식으로 해결을 한다고 한다. rm -rf ~/Library/Developer/Xcode/DerivedData 위 코드를 터미널에서 입력을 해줌으로서 DerivedData를 날릴 수 있다. 근데... 나는 이게 잘 안되었다...!! 그럼 어캄??????? 그냥 Xcode를 껐켰을 해주면 된다. 정말 껐켰 한번 하니 바로 잘 뜬다. 아 그리고 Assistant를 메뉴에서 찾아서 켜지 않고 control + optio..
개발을 하다보면 디자인 패턴 얘기를 많이 듣는다. 그 중 가장 기본적이고 흔히 처음 배우게 되는 것이 MVC 패턴이다.이건 학교 전공시간 뿐만 아니라 평소 개발을 하면서도 워낙 많이 들어본 패턴이기에 익숙하다.하지만, 나는 디자인 패턴을 직접 적용해본 적이 있을까..?🥲지금이라도 제대로 해보도록 하자! MVC 패턴이 무엇인가?MVC 패턴은 Model - View - Controller 구조의 아키텍쳐 패턴이다. 여기서 세 부분으로 나뉘는데 Model은 앱의 데이터, 비즈니스 로직을 갖고 있다.예를 들면 구조체가 될 수도 있고, 그것이 가진 데이터들에 대한 로직이 될 수도 있다.Swift에서는 다양한 방식으로 짤 수도 있는데 class, struct, enum 등등 다양하게 가져갈 수 있다. View는 ..
어느 앱이든 간에 하나의 화면이 아닌 여러 화면 간의 이동을 구현이 당연시 된다. 그렇기에 'A 화면에서 어떤 동작을 하면 B 화면으로 이동하도록 만드는 방법'을 알아야 한다. Swift에는 화면 이동 방식을 다음과 같이 크게 4가지로 나눈다. 1. 코드로만 구현 2. 스토리보드를 활용하여 구현 3. 간접 세그웨이로 구현(Storyboard로 화면 간의 연결) 4. 직접 세그웨이로 구현(Button을 통해 직접 화면 연결) 1. 코드로만 구현 //present를 통해서 지정한 View Controller로의 이동을 구현할 수 있다. @IBAction func codeNextButtonTapped(_ sender: UIButton) { let firstVC = FirstViewController() fir..
이번에는 정말 간단하게 애니메이션을 적용하는 코드만 보도록 하자. 어떤 동작에 대해 애니메이션을 적용하여 보이려면 다음과 같이 구현할 수 있다. // stackView 안의 모든 하위 뷰들은 layout이 바뀔 때 모두 0.3초에 걸쳐 스르륵 바뀌도록 한다. UIView.animate(withDuration: 0.3) { self.stackView.layoutIfNeeded() }
비밀번호 입력을 구현하다보면 표시 버튼을 구현이 필요해질 때가 있다. 다음처럼 toggle을 이용해서 isSecureTextEntry 속성값(Bool)을 조절한다면 비밀번호 가리기, 보이기 구현이 가능해진다. @objc func passwordSecureModeEditing() { passwordTextField.isSecureTextEntry.toggle() }
이번엔 Alert 기능을 구현하는 코드 예시를 봐보려고 한다. 단순히 Alert기능이지만 여러 버튼을 둘 수 있고, 그 동작도 등록해둘 수 있기에 살펴볼 가치가 있다. @objc func resetButtonTapped() { //prefferedStyle -> .alert: 가운데에 뜸, .actionSheet: 아래에서 뜸. let alertController = UIAlertController(title: "비밀번호 바꾸기", message: "비밀번호를 바꾸시겠습니까?", preferredStyle: .actionSheet) let success = UIAlertAction(title: "확인", style: .default) { action in print("확인버튼이 눌렸습니다.") } // ..