일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스켈레톤 통합
- 네이티브
- 360도 이미지 뷰어
- 구조적 정체성
- 앱 성능 개선
- 뷰 정체성
- 라이브러리 없이
- Android
- launch screen
- 리액트
- React-Native
- 360도 이미지
- react
- ssot
- native
- panorama view
- 리액트 네이티브
- requirenativecomponent
- data driven construct
- 파노라마 뷰
- privacyinfo.plist
- 3b52.1
- 명시적 정체성
- ios
- SwiftUI
- 360도 뷰어
- 뷰 생명주기
- launchscreen
- react-native-fast-image
- React Native
- Today
- Total
목록2024/10/24 (3)
Neoself의 기술 블로그
최근에 UIKit + MVC 아키텍처 패턴으로 작은 프로젝트를 만들게 되었습니다. 이를 만들어보면서 고민했던 아키텍처 구성 과정을 적어보았습니다.MVC는 뭐죠??MVC 패턴의 사전적 의미를 먼저 보겠습니다.디자인 패턴중 하나로, Model, View, Controller의 약자입니다. 사용자가 Controller를 조작하면, Controller는 Model 레이어를 통해서 데이터를 가져오고, 그 정보를 바탕으로 View를 업데이트하는 과정을 통해 앱이 동작하는 구조라고 이해하면 됩니다. Model: 애플리케이션의 정보, 데이터를 처리하는 레이어데이터베이스 혹은 Core Data 프레임워크를 활용한 데이터 처리 CRUD 메서드와 같이 정보들의 가공을 책임지는 컴포넌트가 이에 해당됩니다.View: 앱 사용자..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bgGuSh/btsKhcbTC6e/rPLBGKEzkcuZqK4BenJ0LK/img.png)
오픈소스를 활용하지 않고 iOS 앱 개발 시, 내부에 데이터를 저장하여 활용하는 방법은 크게 2가지가 있습니다.UserDefaultCoreData비밀번호나 사용자 이메일 주소와 같은 단순한 키-값을 저장하는 데에는 이전에 말씀드렸던 UserDefaults나 Keychaion이 더 적합합니다. 하지만, 복잡한 데이터 관계가 필요하거나, 데이터의 변경에 대한 롤백, 즉 변경 추적이 필요한 경우에는 Core Data가 더 적합한 프레임워크가 됩니다.Core Data가 그래서 뭐죠?Core Data는 객체 그래프 관리자로서, iOS 어플리케이션에서 데이터를 구조화하고 유지하기 위한 프레임워크입니다. 여기서 Core Data는 DB 그 자체가 아닌, 객체 그래프, 즉 아래와 같이 객체들 간의 관계를 나타내는 연결..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/eLZ1IT/btsKgcJCi4p/cuOm7tdHvQnN98KXb6Zpp0/img.png)
윤년let num = Int(readLine()!)!print(num%4 == 0 && (num%100 != 0 || num%400 == 0) ? "1" : "0")여기서 != 연산자를 양옆에 공백 없이 사용하면 컴파일 에러 발생한다... 사분면 고르기let a = Int(readLine()!)!let b = Int(readLine()!)!var ans = -1if a 알람시계import Foundationvar arr = readLine()!.components(separatedBy:" ").map{Int($0)!}if 45>arr[1] { arr[0]=(arr[0]+23)%24}arr[1]=(arr[1]+15)%60print("\(arr[0]) \(arr[1])") 소수 찾기import Foun..