Ios 在展开可选值collectionview时意外发现nil

Ios 在展开可选值collectionview时意外发现nil,ios,swift,alamofire,rx-swift,Ios,Swift,Alamofire,Rx Swift,我有一个照片视图应用程序,我使用Alamofire获取数据,并使用RxSwift观察API中的变化。一切正常,我可以打印返回项目的总数,甚至可以打印单个项目,但当我将我的UIlabel文本设置为从代码中获取的标题值时,应用程序崩溃。我不知道为什么这是任何帮助将不胜感激 崩溃是线程1:致命错误:在展开可选值时意外发现nil 主单元格 func configueCell(flickerPhotoModel: FlickrPhotoModel) -> Void { self.l

我有一个照片视图应用程序,我使用
Alamofire
获取数据,并使用
RxSwift
观察
API
中的变化。一切正常,我可以打印返回项目的总数,甚至可以打印单个项目,但当我将我的
UIlabel
文本设置为从代码中获取的标题值时,应用程序崩溃。我不知道为什么这是任何帮助将不胜感激

崩溃是线程1:致命错误:在展开可选值时意外发现nil

主单元格

func configueCell(flickerPhotoModel: FlickrPhotoModel) -> Void {

        self.layer.backgroundColor = UIColor.lightGray.cgColor
        print("Cell \(String(describing: flickerPhotoModel.id))")
        flikrTitle.text = flickerPhotoModel.title
    }
private func setupPageBinding() {
        currentState.asObservable()

            .subscribe(onNext: { currentState in
            if currentState == .initialLoading || currentState == .loadingNextPage {
                self.fetchNextPageOfPhotos()
            }
        }).disposed(by: disposeBag)
        photos.asObservable()
            .map { $0.count > 0 ? self.currentPage.value + 1 : self.currentPage.value }
            .bind(to: currentPage)
            .disposed(by: disposeBag)
    }
PhotoViewModel

func configueCell(flickerPhotoModel: FlickrPhotoModel) -> Void {

        self.layer.backgroundColor = UIColor.lightGray.cgColor
        print("Cell \(String(describing: flickerPhotoModel.id))")
        flikrTitle.text = flickerPhotoModel.title
    }
private func setupPageBinding() {
        currentState.asObservable()

            .subscribe(onNext: { currentState in
            if currentState == .initialLoading || currentState == .loadingNextPage {
                self.fetchNextPageOfPhotos()
            }
        }).disposed(by: disposeBag)
        photos.asObservable()
            .map { $0.count > 0 ? self.currentPage.value + 1 : self.currentPage.value }
            .bind(to: currentPage)
            .disposed(by: disposeBag)
    }
控制器

private func setupCollectionViewBinding() {
        print("JSONNN x \(self.viewModel.photos.value.count)")
        viewModel.photos
            .asObservable()
            .bind(to: collectionView.rx.items(cellIdentifier: reuseIdentifier, cellType: MainCell.self))
            { _, photo, cell in
                cell.configueCell(flickerPhotoModel: photo)
                print("JSONNN 5 \(self.viewModel.photos.value.count)")
            }
            .disposed(by: disposeBag)
        viewModel.currentState
            .asObservable()
            .map { $0 == .initialLoading || $0 == .initialLoadingFailure }
            .bind(to: collectionView.rx.isHidden)
            .disposed(by: disposeBag)
        collectionView.rx.modelSelected(FlickrPhotoModel.self)
            .subscribe(onNext: {
                self.routingDelegate?.handlePhotoSelection($0)
            })
            .disposed(by: disposeBag)
    }

检查UILabel,它可能在Interface Builder/StoryBoard中没有连接。

单元格是否已在集合视图中注册?我不理解您的问题@PeterPajchlI将其注册到viewController中,如下所示
collectionView.register(MainCell.self,forCellWithReuseIdentifier:reuseIdentifier)
检查您的flikrTitle标签和flickPhotoModel.title,其中一个应为nil.print(“单元格标签:\(flikrTitle)flickPhotoModel.title:\(字符串(描述:flickPhotoModel.title))),并检查哪一个为nil。如果两者都有价值,那么你的问题就不同了。