반응형

iOS 312

앱 런칭 계획

[ 앱 기능 ] - 시작화면 & 탭바 컨트롤러 구성 (4개) - VC 1. 인스타그램 느낌 구현 (컬렉션뷰 3행 3열로 구성) / 버튼 - VC 2. 테이블뷰 (섹션별로 row 개수 다를 것 같다) ->클릭 시 웹뷰로 띄우기 - VC 3. 테이블뷰 -> 클릭 시 웹뷰로 띄우기 - VC 4. 각 버튼 클릭시 일기처럼 사진 저장 [ 개발 공수 ] 1. 모델링 (Photo / Youtube / Items ) - 2h 2. 화면 구성 (snapkit 코드 베이스) / 디자인 (유튜브 썸네일 가져오기 등) - 10h 3. 데이터베이스 불러오기, 저장하기 기능 (realm 사용) - 3h 4. 모델, 화면, 데이터베이스 실제기능 연동 - 10h 5. 검수 - 2h

iOS swift 과제중 알게된부분 realm관련

ShoppingList 프로젝트 중에서 ... 1. 처음에 단순히 let dataList = UserShopList.shoppingThing 로 하려고 했으나, 이 때 잘못되었던 점은 이건 그냥 껍데기만 들고 온 것이었음. (shoppingThing, favorite, check 껍데기만) 근데 원래 내가 해야했던 건 realm 데이터베이스에서 해당 shoppingThing ex)음료수, 케익... 등 전체를 가져와서 이 중에서 검색해야하는 거였다. 따라서 단순히 껍데기가 아닌 realm 데이터베이스에서 찾는걸로 함 let dataList = repository.fetch() if dataList.count > 0 { for i in 0...(dataList.count - 1) { arr.append(d..

iOS swift 과제 중- 매개변수타입 / _(underscore)

1. 매개변수 타입 (_ item: String) 이 부분에서 틀렸음 매개변수 타입을 :String 뒷부분에서 지정해주어야. 2. _ 에 대한 설명은 아래 글 참조 https://medium.com/@codenamehong/swift-underscore-90dcbec5072f Swift underscore(_) 함수에서의 _ (underscore) medium.com 한줄 요약: 함수 호출시 넘기는 파라미터 앞에 라벨을 생략하기 위해 _ 를 사용한다. greet(person: “Bob”, day: “Tuesday”) greet(name: “John”, “Wednesday”) 위와 아래의 차이 : 아래의 경우 _ day로 함수를 선언했었음 따라서 argument에 라벨을 따로 붙이지 않는 방식으로 호출해도..

UISearchController , UISearchBar

UISearchController , UISearchBar 방법 2가지 1. UISearchBar를 이용 2. UISearchController를 이용 -> 이렇게 할 경우 좀 더 다이나믹한 효과를 얻을 수 있고, 검색하는 도중 실시간으로 밑에 테이블뷰로 필터링된 검색결과를 보여줄 수 있다. https://codershigh.dscloud.biz/techblogs/tb_009_UISearchController/tb009_script.html UISearchController로 검색 개발하기 시작하기에 앞서 이번 기술 블로그에서는 UISearchController를 이용하여 Search Bar 를 개발하는 방법과 함께 간단한 검색 어플리케이션 예제를 제작합니다. Search Bar는 여러 데이터의 모음(c..

[iOS swift] snapkit이용 TabBarViewController 만들기 programatically (without storyboard)

[iOS swift] snapkit이용 TabBarViewController 만들기 programatically (without storyboard) https://kingwltn.tistory.com/8 [iOS] Custom TabBar 만들기 programmatically 코드로 Tabbar을 만드는 방법에 대해서 정리보겠다. 스토리보드를 이용해서 Tabbar을 구현하는 방법만 사용해봐서 코드로는 처음 구현해봤다. 구현하고자 하는 것은 다음과 같다. 선택된 아이템의 kingwltn.tistory.com

[iOS swift] Scenedelegate에서 시작화면 지정하는 코드

[iOS swift] Scenedelegate 에서 시작화면 지정하는 코드 Case 1. navigation을 달고 있는 HomeViewController에서 시작하는 앱 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let scene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: scene) let viewController = HomeViewController() let navigationController = UINavigatio..

프로퍼티 옵저버 didSet, willSet

프로퍼티 옵저버 didSet, willSet 프로퍼티 옵저버를 씀으로써 -> 1. 어떠한 값이 바뀔 때마다 코드를 매번 쓸 필요가 없어진다. 2. 어떠한 값이 바뀔 때마다 view 값을 갱신하는 작업을 따로 해줄 필요가 없어진다. 3. 현재값과 바뀔 값을 비교하는 작업 가능. https://gwangyonglee.tistory.com/29 [Swift] Property - didSet, willSet이란 # didSet, willSet in Swift 스위프트는 프로퍼티 옵저버로 didSet, willSet을 제공합니다. didSet은 프로퍼티 값이 변경되기 직전, willSet은 값이 변경된 직후를 감지하는 것입니다. 따라서, 이 때 원하는 작업 gwangyonglee.tistory.com

[iOS swift] call by reference 참조타입(클래스)

SeSAC2DiaryRealm 프로젝트의 UserDiaryRepository.swift 파일 item: UserDiary를 매개변수로 받아서 사용하는데, 이 때 UserDiary는 클래스 타입. self.localRealm.delete(item) 코드로 테이블의 행(즉, realm에서 record)을 지우는 경우, 참조해왔던 item메모리도 같이 지워진다. 만약에 removeImageFromDocument(fileName: "\(item.objectId).jpg") 에서, let id = item.objectId 선언 안하고 그냥 item.objectId.jpg로 쓰는 경우, 메모리는 윗줄에서 이미 날라간 상태라 nil.objectId가 되는 꼴이다. 따라서, let id = item.objectId ..

iOS swift 백업/복구

iOS swift 백업/복구 오늘 수업 내용 프로젝트이름: SeSAC2Realm-Diary 1. 일기 작성 후 백업, 폰의 파일앱에 저장 (SeSACDiary_1.zip으로 저장했음) 2. 앱 삭제 3. 복구 눌러서 파일앱의 파일 가져와서 복구 (파일앱의 둘러보기에서 선택하면 되었다) 백업을 누르면, default.realm파일만 백업되고, 복구시 이 파일을 가져와서 복구하는 형태. 이 프로젝트에서 화면 전환 코드로 짜지 않아서 SceneDelegate에서 HomeVC, BackupVC를 왔다갔다하면서 앱 설치하고 지워보고 했다. 보통 앱의 백업복구를 확인해보면 백업복구 화면이 따로 존재하는 형태가 많음.

반응형