質問編集履歴

1 追加

amazon_106

amazon_106 score 36

2019/01/28 20:25  投稿

コレクションビューで使用するセルのregister(UserPostCell.self,)メソッドで登録でエラーになる
初学者です。
何が原因でエラーになったか検討もつかないので、ページ全て貼り付けています。
追加のご指摘あれば、お答えします。
よろしくお願いします。
```ここに言語を入力
import UIKit
import Firebase
private let reuseIdentifier = "Cell"
private let headerIdentifier = "UserProfileHeader"
class UserProfileVC: UICollectionViewController, UICollectionViewDelegateFlowLayout {
   
   // MARK: - Properties
   override func viewDidLoad() {
       super.viewDidLoad()
       // register cell classes
##############エラー##############
Use of unresolved identifier 'UserPostCell'
       self.collectionView!.register(UserPostCell.self, forCellWithReuseIdentifier: reuseIdentifier)
       self.collectionView!.register(UserProfileHeader.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: headerIdentifier)
       
       // background color
       self.collectionView?.backgroundColor = .white
       
       // fetch user data
       fetchCurrentUserData()
   }
   
   // MARK: - UICollectionView
   override func numberOfSections(in collectionView: UICollectionView) -> Int {
       return 1
   }
   override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
       // #warning Incomplete implementation, return the number of items
       return 0
   }
   
   
   func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForFooterInSection section: Int) -> CGSize {
       return CGSize(width: view.frame.width, height: 200)
   }
   
   
   override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
       
       // declare header
       let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: headerIdentifier, for: indexPath) as! UserProfileHeader
       
       // return header
       return header
       
   }
   
   
   override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
       let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath)
       
       // Configure the cell
       
   
       return cell
   }
   // MARK: - API
   
   func fetchCurrentUserData(){
       
       guard let currentUid = Auth.auth().currentUser?.uid else { return }
       
       Database.database().reference().child("users").child(currentUid).child("username").observeSingleEvent(of: .value) { (snapshot) in
           guard let username = snapshot.value as? String else { return }
           self.navigationItem.title = username
       }
   }
}
```
![イメージ説明](c6322b69de338fb0bf2def309fccc422.png)
![イメージ説明](937e4956ba398b6434b9ae739d4c4327.png)
![イメージ説明](937e4956ba398b6434b9ae739d4c4327.png)
UserPostCellを定義
```ここに言語を入力
   override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
       let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! UserPostCell
       
       // Configure the cell
       return cell
   }
```
エラーコード
Use of undeclared type 'UserPostCell'
![イメージ説明](f603b13d242ea164b162f4dd73f0f7a6.png)
  • Swift

    13482 questions

    Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る