목록프로그래밍/iOS (20)
Trulyawesome
# 들어가기전에 필자는 처음에 소스코드를 한 ViewController에 작성했었습니다. 그러다 보니 소스코드가 길어지면서 수정, 개발 효율이 떨어지게 되었고 소스코드를 어떻게 짜야할까에 대하여 생각하게 되었습니다. 그 중에 기본이라면 기본인 MVC패턴을 공부하게 되었고 지금은 주로 사용하게 되었습니다.😁 추 후에 MVVM, MVP도 공부해볼 생각입니다. # MVC? MVC패턴은 Model(모델), View(뷰) , Controller(컨트롤러)의 줄임말 입니다. Model에서는 앱에서 사용할 데이터들을 관리하고 View는 User Interface를 관리하고 표현하는것을 담당합니다. 마지막으로 Controller는 View와 Model의 Bridge 역할을 하며 View의 입력을 Model이 반영하고 ..
들어가기전에 오늘 공부하려는 내용은 Swift의 ARC입니다. ARC는 Automatic Reference Counting 의 약자로 자동 참조 카운팅을 의미합니다. 그래서 자동 참조 카운팅이 뭐냐? 바로 메모리를 자동으로 관리해 주는 시스템입니다..! 클래스의 인스턴스가 생성될때 자동으로 할당하고 더이상 필요하지 않다고 판단되면 자동으로 메모리를 해제해줍니다. 이렇게 swift에서는 자동으로 메모리를 관리해줍니다. 하지만 예외도 있기 때문에! 오늘 ARC에 대하여 공부를 해봅시다.😀 How ARC Works Swift는 ARC를 통해 클래스의 인스터스가 생성될때 메모리를 할당해줍니다. 할당된 메모리 안에는 인스턴스의 타입정보,인스턴스와 연관된 stored property의 값들입니다. 😊 클래스의 인스..
os개발을 시작하면서 개발에 흥미를 붙이기 위해서 코드만 보고 따라하는식으로 공부를 하였는데 그러다 보니 기본적인 개념, 앱이 어떻게 실행되고 종료되는지에 대한 내용 숙지가 제대로 되지 않아 개발하는데 힘이 들었습니다. 그러다 보니 기초개념, cs공부를 시작하게 되었고 오늘은 ios개발에서 중요한 부분 중 하나인 ViewController 생명주기, 앱 생명주기에 대하여 공부를 하겠습니다. 앱 생명주기 앱 생명주기는 흔히 background상태와 foreground상태로 나눠져있습니다. background상태는 우리가 흔히 홈버튼을 눌렀을때 화면상에는 보이지 않지만 실행되고 있는 상태이고 foreground는 말 그대로 앱이 전면에 실행되고 있는 상태입니다. 앱의 실행상태는 다음과 같습니다. Not Ru..

Login view 기본 Login 화면만 오토레이아웃으로 구현해보았습니다. 기능 -아메일 형식이 아니면 경고문구 (조건 만족하면 경고문구 사라짐) -비밀번호 8자리 미만일 경우 경고 문구 (조건 만족하면 경고문구 사라짐) 위와 같이 간단하게 구현해 보았습니다. 이메일과 비밀번호를 적을 textFireld 2개 , 회원 가입 버튼 하나 이렇게 구성하였고 textfield 밑에 작게 경고문구를 입력하였습니다. 이메일 형식이 맞는지 확인하는법 이메일과 비밀번호가 올바른 형식이면 경고문을 사라지게 만들어야 하기 때문에 다음과 같이 소스코드를 작성하였습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 func isValidEmail(email: String?) -> Bool..

-구현기능 1.Todo 입력 2.Todo 삭제 3.Todo 자세히 보기 4.달력보기 5.달력 일자 다중선택 -사용기술 1.TableView 2.Swift 5.0 3.MVC 4.Koyomi(Calendar) 5.Toolbar 6.navigation controller 선행되어할것들 (기존 컨트롤뷰를 지우고 네비게이션 컨드롤 뷰를 만들어준다. ) 1.TableView 설정 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 extension TodoViewController: UITableViewDataSource { //cell count func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { r..
데이터 저장하기 앱을 개발하면서 데이터를 저장하려고 하면 저장소가 필요한데 오늘은 Firebase가 아닌 핸드폰에 간단하게 저장되는 userdefault를 사용해보려고 합니다. 1 2 3 4 5 6 7 8 9 10 11 func saveAllData() { let data = todoList.map { [ "title": $0.title, "content": $0.contents ] } let userDefaults = UserDefaults.standard userDefaults.set(data, forKey: "items") userDefaults.synchronize() } Colored by Color Scripter cs 데이터를 저장하기 위해서 key, value값이 필요합니다. Todolis..

개발자라면 거의 다 만들어보는 TodoList를 만들어 보았다. 처음에는 아주 쉽게? 생각했는데 은근히 까다로웠다,, -구현기능 1.Todo 입력 2.Todo 삭제 3.Todo 자세히 보기 4.달력보기 5.달력 일자 다중선택 -사용기술 1.TableView 2.Swift 5.0 3.MVC 4.Koyomi(Calendar) 5.Toolbar 6.navigation controller MVC ( Model) 모델은 Calander, Todo 2개를 만들어보았습니다. https://github.com/shoheiyokoyama/Koyomi 에 캘린더 사용법이 친절하게 나와있어요 참고합시다.^.^ Todomodel에는 title과 내용인 contents를 만들어 주고 init을 작성해줍니다. 모델링이 끝나면 v..

앞에서 공부했던 Firebasea설정에 이어 xcode에서 데이터 입력 및 불러오기 구현을 해보았는데 Firebase database 사이트에서 직접 데이터를 넣어도 되지만 컴공이니깐..? 소스로 짜서 편하게 데이터를 입력하고 불러오는것을 해보도록 합시다. 데이터 입력하기 먼저 Firebase를 import를 하고난 후 데이터를 입력해 봅시다. iOS에서 Firebase에 데이터를 입력할때 Int, Double, String, Array, dictionary 타입을 입력할 수 있습니다. 먼저 rootReference를 생성하여 Database.database().reference를 이용해 넣을 준비를 합니다. 그다음 rootRef의 child노드의 키 값을 각각 설정해 주고 setValue함수를 통해 k..