iOS 70

[iOS] TableView의 prefetching 기능

간단한 기능이지만 tableView에서 유용하게 사용할 수도 있는 기능을 알게되어 정리합니다. 일단 이 method는 화면에서 tableView의 cell이 보여지려고 할때 미리 작동되는 함수라고 생각하면 될 것 같습니다. 그래서 스크롤을 할때 다음 cell이 보여지기 전에 어떠한 이벤트를 처리하고 싶다라고 생각할때 유용하게 사용이 가능할듯 합니다. 사용 방법은 간단합니다. 1. UITableViewDataSourcePrefetching를 extension 합니다. 2. tableView.prefetchDataSource = self 를 viewDidLoad에 작성해줍니다. 3. prefetchRowsAt 메서드를 사용합니다. func tableView(_ tableView: UITableView, pr..

iOS/UIKit 2022.02.22

[iOS] URLSession으로 get method 사용

서버와 데이터를 주고받기 위해서 http 통신을 사용합니다. 보통 가장 많이 사용되는 get을 사용하는 방법을 알아보도록 하겠습니다. // 요청할 url 작성 let url = URL(string: "요청할 url") // request 만들기 + method 정해주기 var request = URLRequest(url: url) request.httpMethod = "GET" // dataTask 만들기 let dataTask = URLSession.shared.dataTask(with: url) {[weak self] data, response, error in guard let self = self else {return} // 강한 순환 참조 방지 guard error == nil else {re..

iOS/Swift 2022.02.22

[iOS] StoryBoard를 쓰지 않고 코드로 작성하기

1. info.plist에서 StoryBoard Name 삭제 2. 프로젝트에서 Deploymet Info에서 Main interface를 지우기 (원래 Main) 3. SceneDelegate의 willConnectTo의 내용 다음으로 변경 guard let windowScene = (scene as? UIWindowScene) else { return } window = UIWindow(windowScene: windowScene) window?.backgroundColor = .systemBackground window?.rootViewController = 원하는 ViewController Class() // 기존 스토리보드의 시작지점과 같다고 생각 window?.makeKeyAndVisible()

iOS/UIKit 2022.02.22

[iOS] 파이어베이스 Realtime Database 읽고 쓰기 기초

파이어베이스 - 데이터 읽고 쓰기 파이어베이스의 Realtime Database 에서 데이터를 읽고 쓰는 방법을 알아보겠습니다. 공식문서를 보고 작성했지만 정확하지 않은 정보가 있을 수 있습니다. 사실 프론트 개발을 공부하시는 분들은 백엔드까지 다루기 쉽지 않기 때문에 이러한 서비스를 이용하면 편리하게 사용할 수 있을듯 합니다. 파이어베이스에 앱을 등록하는 방법은 아래 포스팅에서 다루고 있으니 바로 들어가 보겠습니다. 파이어베이스 구글 로그인 일단 Database를 사용하기 위해 작업을 하고 시작하겠습니다. pod 'Firebase/Database' 앱의 해당 파이어베이스 레퍼런스 가져오기 var ref: DatabaseReference? ref = Database.database().reference(..

iOS/Swift 2022.02.15

[iOS] TableViewCell 커스텀 사용법 (XIB 파일)

스토리보드의 기본 cell이 아닌 tableView를 커스텀해서 사용할 수 있습니다. 메인 스토리보드에 테이블뷰가 있다고 가정하고 TableViewCell을 만들어 주겠습니다. 커맨드+N -> 코코아 터치 클래스 -> Subclass: UITableViewCell , Also create XIB file 선택 그러면 swift 파일과 xib파일 두가지 파일이 생기게 됩니다. xib 파일에서는 원하는 대로 cell을 만져주시고 class는 swift 파일의 class를 사용합니다. 이제 cell을 사용할 곳에 Nib 파일을 가져오고 이를 tableView에 등록한 후에 사용해야 합니다. tableView에 등록 // tableView는 // 1. tableView일 경우 @IBOulet으로 가져옴 // 2..

iOS/SwiftUI 2022.02.15

[iOS] 로컬 푸쉬 알림 (Local Notification)

앱에서 푸쉬 알림을 보내는 방법은 1. local에서 보내는 방법 2. apns를 통해 외부에서 보내는 방법이 있습니다. 이중 로컬에서 푸쉬 알림을 보내는 방법을 정리해 보겠습니다. 일단 로컬에서는 푸쉬를 보낼때 세가지 조건에 맞춰 보낼수 있습니다. 1. 특정 시간에 2. 일정 시간마다 3. 지정한 위치에 따라 "첫번째인 특정 시간" 을 기준으로 로컬에서 푸쉬 알림을 보내보도록 하겠습니다. 먼저 푸쉬 알림을 보내기 위해서는 내장 라이브러리인 UserNotifications를 사용합니다. iOS 에서는 유저에게 권한을 받아와야 합니다. 앱을 켜면 권한을 받아오도록 작성해 보겠습니다. //AppDelegate.swift // 클래스 안의 함수 // 앱이 실행되면 실행되는 함수 func application(..

iOS/Swift 2022.02.15

[iOS-Error] cocoaPod 라이브러리 설치 에러

문제 cocoaPod으로 라이브러리를 설치하기 위해 공식 페이지에서 커맨드를 복사하고 붙여넣은 후에 pod install을 진행하였더니 에러가 납니다. 이대로는 build를 할 수도 라이브러리를 사용할 수도 없었습니다. 해결 분명 명령어는 정확한데 오타가 난것도 아니고 고민을 했는데 아무래도 맥북이니까 공백문자가 다르지 않을까 하는 생각이 들어 명령어를 지우고 다시 쳐준 후에 pod install을 하니 제대로 동작했습니다.

iOS/Errors 2022.02.13

[iOS] lotties-ios로 움직이는 이미지 넣기

lotties를 이용해 움지이는 이미지를 화면에 표시할 수 있습니다. 먼저 cocoaPod으로 다운을 받아주시고 pod 'lottie-ios' lotties-ios 깃허브 빈 View에 받아와 넣는 예시입니다. 일단 lottie를 사용하기 위해서는 json으로 된 움직이는 파일의 정보가 담긴 파일이 필요합니다. (알아보니 애프터이펙트 같은 툴로 만든 파일을 json으로 변환해주는 tool 같은게 있는듯 합니다.) 일단 연습용이니 다음 사이트에서 이미지를 다운 받았다는 전제로 하겠습니다. 로티 이미지 ~~.json 파일을 프로젝트에 넣으면 준비가 되었습니다. 이제 스토리보드에 가서 View를 만들고 class를 AnimationView로 설정해 줍니다. (AnimationView는 lottie에서 지원하..

iOS/Swift 2022.02.13

[iOS] KingFisher를 사용해 URL로 이미지 사용하기

KingFisher라는 오픈소스 라이브러리로 이미지 URL을 통해 이미지뷰에 이미지를 간단하게 넣을수 있습니다. 먼저 imageURL을 String 타입으로 가지고 있다고 하고 진행하겠습니다. 설치 방법과 사용 방법은 매우 간단합니다. KingFisher 깃허브 저는 cocoaPod을 통해 KingFisher를 설치했습니다. 그리고 다음 코드로 ImageView에 이미지를 넣을수 있었습니다. import KingFisher // String 형태를 URL로 변환 let imageURL = URL(string: creditCardList[indexPath.row].cardImageURL) // String -> URL 타입 변환 // URL을 통해 imageView에 넣기 // kf가 라이브러리 지원 프로..

iOS/Swift 2022.02.13

[iOS] 파이어베이스 이메일-비밀번호 가입 및 로그인

파이어베이스 구글 로그인 처럼 이메일-비밀번호으로 로그인 하는 방법을 간단하게 포스팅 하겠습니다. 먼저 다음 포스팅에서 2번까지 설정한 후에 사용합니다. https://jrepository.tistory.com/119 [iOS] 파이어베이스 구글 로그인 인증(firebase google login) 강의를 듣다가 파이어베이스 로그인 방법이 달라졌져서 한참 헤멘것 같습니다. 그래서 삽질을 통해 개인적으로 방법을 찾아 정리해 봤습니다. 파이어베이스를 이용해 구글 로그인 등 다양한 로 jrepository.tistory.com Sign-in method -> 추가 제공업체: 이메일/비밀번호 -> 사용설정 이후는 간단합니다. 다음 라이브러리를 import해 주시고 import FirebaseAuth email과..

iOS/Swift 2022.02.12