Firebase를 사용하여 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 이미지 전달

Khallad

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 이미지를 전달하려고하는데 segue 기능을 준비 할 때 오류가 발생합니다.

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {


        let post = posts[indexPath.row]

        if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath)as? collectionViewCellBooks {

            if let img = booksVC.imageCache.object(forKey: post.imageUrl as NSString) {
                cell.configureCell(post: post, img: img)
                return cell

        }else {

                cell.configureCell(post: post)
                return cell
            }
        }
            else {
                return collectionViewCellBooks()
            }

    }

    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        self.performSegue(withIdentifier: "showImage", sender: self)
    }



    override func prepare(for segue: UIStoryboardSegue, sender: Any?)
    {

         if segue.identifier == "showImage"
         {

         let indexPaths = self.collectionView!.indexPathsForSelectedItems!
         let indexPath = indexPaths[0] as IndexPath
         let vc = segue.destination as! newViewController
        // vc.image = self.posts[(indexPath as NSIndexPath).row]
            vc.image = self.posts[indexPath.row]
         }





class newViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    var image = UIImage()

    override func viewDidLoad() {
        super.viewDidLoad()

        self.imageView.image = self.image
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

이것은 내 Post 수업입니다

class Post {

private var _caption: String!
private var _imageUrl: String!
private var _postKey: String!



var caption: String {
    return _caption
}

var imageUrl: String {
    return _imageUrl
}

var postKey: String {
    return _postKey
}


init(caption: String, imageUrl: String) {

    self._caption = caption
    self._imageUrl = imageUrl
}

init(postKey: String, postData: Dictionary<String, AnyObject>) {

    self._postKey = postKey

    if let caption = postData["title"] as? String {
        self._caption = caption
    }
    if let imagesUrl = postData["imageURL"] as? String {
        self._imageUrl = imagesUrl
    }

}

}

title 및 imageURL은 firebase 데이터베이스에 저장됩니다.

ShujatAli

준비 방법을 다음과 같이 변경해 주시겠습니까?.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    {

         if segue.identifier == "showImage"
         {

         let indexPaths = self.collectionView!.indexPathsForSelectedItems!
         let indexPath = indexPaths[0] as IndexPath
         let vc = segue.destinationViewController as! newViewController

         let post = posts[indexPath.row]
         if let img = booksVC.imageCache.object(forKey: post.imageUrl as NSString) {
                vc.image = img
         }
       }
    }


class newViewController: UIViewController {

    @IBOutlet weak var imageView: UIImageView!

    var image = nil

    override func viewDidLoad() {
        super.viewDidLoad()

        if self.image {
         self.imageView.image = self.image
        }
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달할 때 오류 발생

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법과 뷰 컨트롤러 사이에는 표시 뷰 컨트롤러가 있습니다.

뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법

선택한 데이터를 뷰에서 컨트롤러로 전달하고 다시 컨트롤러에서 뷰로 다시 전달하는 방법

한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

한 뷰 컨트롤러의 테이블 뷰 셀에서 다른 뷰 컨트롤러로 정보를 어떻게 전달합니까?

뷰 컨트롤러에서 내비게이션 컨트롤러로 데이터를 전달한 다음 다른 뷰 컨트롤러로 전달하는 방법은 무엇입니까?

Swift를 사용하여 Xcode에서 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로의 지연 방지

테이블 뷰에서 다른 뷰 컨트롤러로 다른 데이터를 전달하는 방법

한 뷰 컨트롤러에서 다른 뷰 컨트롤러의 UIImageView로 사진을 전송하는 방법

ID를 컨트롤러로 전달하고 컨트롤러에서 뷰로 전달하기위한 Codeignitter 경로

하나의 뷰 컨트롤러에서 디테일 뷰 컨트롤러로 Firebase 데이터 전달

버튼 동작을 사용하여 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 전달하는 방법은 무엇입니까?

델리게이트를 사용하여 모달 뷰 컨트롤러에서 다른 뷰 컨트롤러의 메서드 호출

UITabBarController 내부에서 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 어떻게 이동하고 탭 바를 유지합니까?

Laravel 5.5-양식의 데이터를 컨트롤러에 전달한 다음 컨트롤러에서 동일한 뷰로 데이터 전달

segue없이 뷰 컨트롤러에서 탭 막대 뷰 컨트롤러로 이미지 뷰를 전달하는 방법은 무엇입니까?

푸시 된 뷰 컨트롤러에서 뷰 컨트롤러로 데이터를 다시 전달하는 프로토콜 구현

Swift에서 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 이동하는 방법은 무엇입니까?

한 뷰 컨트롤러의 변수를 다른 뷰 컨트롤러에서 사용

UI Alert Controller에서 다른 뷰 컨트롤러 iOS로 데이터를 전달하는 방법

뷰에서 컨트롤러로 데이터를 전송 한 다음 다른 뷰 (MVC C #)로 데이터를 전송하는 방법은 무엇입니까?

다른 뷰 컨트롤러에서 이탈 할 때 한 뷰 컨트롤러에서 다른 뷰 컨트롤러로 데이터를 어떻게 저장 (추가) 하시겠습니까?

하나의 뷰 컨트롤러에서 다른 뷰 컨트롤러로 NSManagedObject 전달

하나의 뷰 컨트롤러에서 다른 뷰 컨트롤러로 UISwitch 상태 전달

데이터를 이전 뷰 컨트롤러로 다시 전달

Swift에서 imagePickerController를 사용하여 동일한 뷰 컨트롤러에서 두 개의 서로 다른 이미지 선택

다른 뷰 컨트롤러에서 변수에 액세스 / 전달하는 방법은 무엇입니까? 다음 뷰 컨트롤러는 아니지만 Swift에서 다음 뷰 컨트롤러 이후의 뷰 컨트롤러입니다.

뷰 컨트롤러를 다른 뷰 컨트롤러의 하위 뷰로 추가

TOP 리스트

  1. 1

    Ionic 2 로더가 적시에 표시되지 않음

  2. 2

    JSoup javax.net.ssl.SSLHandshakeException : <url>과 일치하는 주체 대체 DNS 이름이 없습니다.

  3. 3

    std :: regex의 일관성없는 동작

  4. 4

    Xcode10 유효성 검사 : 이미지에 투명성이 없지만 여전히 수락되지 않습니까?

  5. 5

    java.lang.UnsatisfiedLinkError : 지정된 모듈을 찾을 수 없습니다

  6. 6

    rclone으로 원격 디렉토리의 모든 파일을 삭제하는 방법은 무엇입니까?

  7. 7

    상황에 맞는 메뉴 색상

  8. 8

    SMTPException : 전송 연결에서 데이터를 읽을 수 없음 : net_io_connectionclosed

  9. 9

    정점 셰이더에서 카메라에서 개체까지의 XY 거리

  10. 10

    Windows cmd를 통해 Anaconda 환경에서 Python 스크립트 실행

  11. 11

    다음 컨트롤이 추가되었지만 사용할 수 없습니다.

  12. 12

    C #에서 'System.DBNull'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다.

  13. 13

    JNDI를 사용하여 Spring Boot에서 다중 데이터 소스 구성

  14. 14

    Cassandra에서 버전이 지정된 계층의 효율적인 모델링

  15. 15

    복사 / 붙여 넣기 비활성화

  16. 16

    Android Kotlin은 다른 활동에서 함수를 호출합니다.

  17. 17

    Google Play Console에서 '예기치 않은 오류가 발생했습니다. 나중에 다시 시도해주세요. (7100000)'오류를 수정하는 방법은 무엇입니까?

  18. 18

    SQL Server-현명한 데이터 문제 받기

  19. 19

    Seaborn에서 축 제목 숨기기

  20. 20

    ArrayBufferLike의 typescript 정의의 깊은 의미

  21. 21

    Kubernetes Horizontal Pod Autoscaler (HPA) 테스트

뜨겁다태그

보관