목록iOS/Xcode (26)
k-coding
CoreData (2) 오늘은 CoreData의 개념에 대해서 좀 더 알아보겠습니다. 이전 포스트에서 CoreData는 DB가 아님을 학습했었습니다. CoreData의 특징, 개념 1 ) Entity(데이터가 저장될 구조)를 통해 데이터 저장 구조 정의 - 테이블을 통해 데이터 저장 구조를 정의하는 다른 DB들과 다름 - Entity 구성 - Attribute : Entity의 하위 속성 - Relation : Entity끼리의 관계 - Fatched Properties. : 템플릿 형태로 만들어 놓은 것 2 ) In - Memory 방식 존재 - 사용하려는 모든 데이터는 메모리에 우선 로딩되는 과정 - 영구 저장소를 사용하지 않고 인메모리 방식으로만 사용이 가능 3 ) 데이터를 객체로 취급 - 하나의 ..

CoreData ( 1 ) 이번 포스팅에서는 iOS에서 디바이스에 데이터를 저장할 수 있는 수단중에 하나인 CoreData에 대해서 알아보겠습니다. 이전의 알아보았던 UserDefaults나 Realm과 비슷한 역할을 해주는데, CoreData는 framework입니다. 즉, 데이터베이스가 아닙니다. userDefaults보다 더 복잡한 내용을 영구적으로 저장하기 위해서 많이 사용됩니다. 위에서 CoreData가 DB는 아니라고 말씀 드렸는데요. CoreDat의 기능 중 하나 인 Persistence는 관계형 DB인 SQLite에 의해 지원됩니다. CoreData는 영구적으로 데이터를 저장하기 위해 많이 사용되는데, Persistence는 CoreData의 기능 중 하나이지, CoreData가 DB는 아..

Swift 뷰의 상태변화 어플리케이션 내에서 뷰가 화면에 보여지는 상태의 변화가 생기면 뷰 컨트롤러는 여러가지 메서드를 호출해 서브클래스가 적절한 대응을 할 수 있게 합니다. viewDidLoad() 뷰 계층이 메모리에 로드된 직후 호출되는 메서드, 뷰의 추가적인 초기화 작업을 하기 좋은 시점 메모리에 처음 로딩 될때 1회 호출되는 메서드로, 메모리 경고로 뷰가 사라지지 않는 이상 다시 호출되지 않음 주로 뷰의 초기화작업을 담당 viewWillAppear(_ animated: Bool) 뷰가 뷰 계층에 추가되고 화면이 표시되기 직전에 호출되는 메서드, 뷰의 추가적인 초기화 작업을 하기 좋은 시점 다른 뷰로 이동했다가 되돌아오면 재호출되는 메서드로, 화면이 나타날때마다 수행해야하는 작업을 하기 좋은 시점 ..

오늘은 Realm을 활용하여 테이블뷰에 데이터베이스에 들어있는 값을 넣는 방법을 알아보겠습니다. Realm 설치, Realm 기본 예제등등은 이전 포스트를 확인하요 주세요. 우선 프로젝트를 생성하시고 다음과 같이 storyboard를 작성해봅시다. 디자인이 엉망이지만 일단 넘어가자구요 :) 위에 보이는 Add버튼을 누르면 Realm에 데이터를 저장하고 Reset버튼을 누르면 편하게 데이터를 다 지워줄것입니다. 각각 할일, 시간 TextField를 통하여 cell에 있는 Label에 값을 보여게 할것입니다. 일단 IBOutlet를 연결을 다음과 같이 해줍시다! class ViewController: UIViewController { @IBOutlet weak var workTF: UITextField! @..

Realm ( 2 ) 오늘은 Realm Studio를 간단하게 활용하는 방법을 포스팅해보겠습니다. Realm Studio를 사용하면 Realm을 통하여 저장한 DB를 직관적으로 확인할 수 있습니다. 우선 Realm Studio를 다운 받아야합니다. https://www.mongodb.com/docs/realm-legacy/kr/products/realm-studio.html Realm Studio: open, edit, and manage your Realm data Realm 스튜디오는 Realm 데이터베이스와 Realm 오브젝트 서버의 데이터를 열고 분석하기위한 개발도구 입니다. Realm 스튜디오로 로컬 Realm이다 동기화된 Realm을 쉽게 열고 수정할 수 있으며 Realm 플랫 www.mong..

Realm이란? 데이터를 빠르고 효율적으로 관리하는 방식입니다. 데이터를 저장하는 방법은 여러가지가 존재합니다. 쉬운 예시로 들자면 이전 포스트에서 다루었던 UserDefaults도 하나의 방법이고, CoreData도 대표적인 예시이긴 합니다만 UserDefaults의 경우 간단하고 빠르게 저장이 가능하지만 기본적인 데이터 형식인 String, Int형 등 만이 저장이 가능하고, 상대적으로 Realm보다 느립니다. CoreData의 경우는 객체 형태로 데이터를 관리할 수 있다는 장점이 있지만 데이터의 Read,Write 과정이 다소 직관적이지 않습니다. 또한 Realm의 장점으로는 속도가 빠르고, 안드로이드와 iOS 두 가지를 동시에 지원하기도 하며, 직관적으로 DB를 확인 할 수 있기 때문에 많이 사용..

혼자서 공부하면서 프로젝트를 만들다보면 자주 겪는 문제중 하나가 회원가입, 로그인을 구현하고자 할 때 혼자서 매번 데이터베이스를 구축하면 너무 시간이 오래걸리고 어렵다는거다 (제 기준입니다 ㅠ) 이럴때 google에서 지원하는 Firebase를 이용하면 간단하게 데이터를 관리해주는 나만의 서버를 만들수 있습니다. 우선 들어거가전에, 한가지 알아두셔야 할 점은 Firebase는 위에서 소개한대로 정말 간단하게 데이터를 저장할 수 있지만, 그정도일 뿐 보안이나 후에 데이터관리에는 다소 어려움이 크기 때문에 작거나, 개인 프로젝트 정도에만 적용하시는걸 추천드립니다. Podfile에 firebase 설치하기 우선 터미널에 들어가서 Firebase를 넣어주고자 하는 파일에 Podfile에 들어갑시다. 방법은 다음..

Xcode Swift. Shimmer Animation 만들기 저번 포스트에선 Xcode에서 그라데이션을 적용하는 방법을 알아보았는데, 이번에는 Shimmer 효과를 넣는 방법을 알아봅시다. Shimmer란 "반짝임" 이란 뜻으로, 뷰가 반짝반짝이게 하는 효과를 가지고 있습니다. 글보단 눈으로 보는게 빠르겠죠? 오 버튼이 반짝반짝!! 이것만 있으면 이쁜 UI를 구성할 수 있겠군! 그렇다면 이제 적용시키는 방법을 알아봅시다. 우선 " ShimmerSwiftf " 라는 녀석을 import해주어야하는데, 그냥 xcode에서 바로 import해주려고하면 이녀석이 존재하지 않습니다! ShimmerSwift가 가능하게 해주는 코코아팟을 설치하여야하는데요. 먼저 터미널을 킵시다. 터미널을 키신 다음 제가 만든 프로젝..

Xcode Swift 그라데이션 뷰, 버튼 만들기 먼저 그라데이션이란? 그라데이션(Gradation)은 하나의 색채에서 다른 색채로 변하는 단계, 혹은 그러한 기법을 의미하는 단어 Xcode에서 이러한 그라데이션 효과를 주려면 어떻게 하면될까요? 그라데이션 뷰 만들기 CAGradientLayer() 를 사용하면 손쉽게 설정할 수 있습니다. 아래 코드를 보시면 되겠습니다. import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. let gradientLayer = CAGradientLaye..

Xcode CollectionView 콜랙션 뷰 콜랙션 뷰에 대한 두번째 포스트입니다. 이전 포스트에서는 간단하게 콜랙션 뷰를 만드는 과정에 대햐여 알아보았는데 내용이 궁금하시면 해당 링크를 통하여 확인하시면 됩니다! https://choiki923.tistory.com/96 Xcode CollectionView 콜랙션 뷰 ( 1 ) Xcode CollectionView 콜랙션 뷰 이전 포스트에서 tableView에 대해서 알아본 바 있는데 이번 포스트에선 그 테이블 뷰의 상위호환(?) 이라고 부를 수 있는 컬랙션 뷰에 대하여 포스트 하겠습니다. 우 choiki923.tistory.com 이전 포스트에서 콜랙션 뷰가 설정은 되었지만 크기가 뒤죽박죽 화면을 넘어갔는데요. 오늘은 크기나 스크롤방향 등등 커스..