티스토리 뷰

졸업작품을 진행하면서 파이어베이스의 스토리지를 사용하기로 해서 좀 더 사용법을 익히기로 하였다

사용법을 익히기 위해 토이프로젝트를 하나 진행하려고 한다

프로젝트의 내용은 스토리지에 이미지를 20장 정도 넣어두고 커스텀테이블뷰, 스토리지, NSCache, UserDefault 와 비동기 처리를 사용해 볼것이다

 

순서는 스토리지 -> 커스텀테이블뷰 -> NSCache -> UserDefault -> 비동기처리 가 되지않을까 싶다

pod 'Firebase/Storage'

pod파일에 위의 Storage를 추가해준다

그런다음엔 AppDelegate에 아래의 configure()를 작성

물론 앞으로 작성할 소스파일에는 Firebase 헤더가 전부 들어간다

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    FirebaseApp.configure()
    return true
}

여기서 configure()는 생성한 FirebaseApp 객체에 파이어베이스를 연결하면서 넣은 GoogleService-Info.plist를 로드하는 것이라고 한다

쉽게 생각해보면 Firebase 페이지와 내 앱을 연결하여 접근이 가능하게 해주는(?) 부분인 것 같다

 

우선 스토리지 연결을 확인하고 이미지가 불러와 지는지를 알기위해 아래와 같이 작성하였다.

let imagePath : [String] = ["image1.jpg","image2.jpg","image3.jpg","image4.jpg","image5.jpg","image6.jpg","image7.jpg","image8.jpg","image9.jpg"]

이미지를 찾아가기 위한 경로를 쉽게 찾기위해 이미지 이름을 변수에 넣어서 사용하였다

extension MainViewController : UITableViewDelegate, UITableViewDataSource {
    func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 9
    }
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let view = detaileViewController()
        view.modalPresentationStyle = .fullScreen
        view.path = self.imagePath[indexPath.row]
        self.present(view, animated: true, completion: nil)
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let c = UITableViewCell()
        c.textLabel?.text = self.imagePath[indexPath.row]
        return c
    }
}

테이블뷰도 마찬가지로 확인이 먼저니 간단히 작성하였다

중요한것은 상세 뷰컨트롤러로 넘어가서 이미지를 띄울것이기 때문에 didSelectRowAt 함수이다

여기까지 작성을 하면 아래와 같은 화면이 된다

다음의 내용들은 didSelectRowAt에서 새로띄울 뷰컨트롤러(즉, 상세이미지뷰 컨트롤러)의 내용이다

상세이미지뷰에서 이미지뷰컨트롤러, 뒤로가기버튼 정도만 작성해두고 진행했다

 

Firebase의 이미지 다운문서에 나와있는 코드로 viewDidLoad()에 작성했다

firebase.google.com/docs/storage/ios/download-files?authuser=0

 

iOS에서 파일 다운로드  |  Firebase

Cloud Storage를 사용하면 Firebase가 제공하고 관리하는 Google Cloud Storage 버킷의 파일을 빠르고 손쉽게 다운로드할 수 있습니다. 참고: 기본적으로 Cloud Storage 버킷에서 파일을 다운로드하려면 Firebase

firebase.google.com

func firebase(){
	let storage = Storage.storage()
	let storageRef = storage.reference()
	let islandRef = storageRef.child(self.path)
    
	islandRef.getData(maxSize: 1 * 1024 * 1024) { data, error in
		if let error = error {
			print("fail error = \(error)")
		} else {
			let image = UIImage(data: data!)
			self.imageView.image = image
		}
	}
}

소스를 실행해서 이미지 파일명이 있는 Row를 클릭하면 아래의 화면이 나오게 된다


이제 스토리지에서 이미지가 불러와지는 것을 확인했으니 이후에는 이미지 파일 추가, 커스텀테이블뷰를 생성, UI수정, Storage 소스 수정(?) 등 진행할 것 같다

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/09   »
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
글 보관함