UICollectionViewプロトコルの問題

cackland

アクションボタンを介して「CollectionViewController」を表示するviewControllerがあります。

@objc func addPhoto() {
    let layout = UICollectionViewFlowLayout()
    let photoController = UINavigationController(rootViewController: PhotoController(collectionViewLayout: layout))
    present(photoController, animated: true, completion: nil)
}

「PhotoController」内で、標準のプロトコル手順を使用して、このコントローラーから元のviewControllerにデータを戻そうとしています。

protocol PhotoControllerDelegate {
    func store(image: UIImage)
}

var delegate: PhotoControllerDelegate?

@objc func handleSave() {
    if let image = headerImage {
        delegate?.store(image: image)
    }

    ///Dimiss viewController
    dismiss(animated: true, completion: nil)
}

元のviewController内に戻って、却下されたPhotoControllerを再インスタンス化しました。

let photoController = PhotoController()

そして、viewDidLoad()内でデリゲートを割り当てました

photoController.delegate = self

次に、元のviewController内にデリゲートメソッドを提供しました。

func store(image: UIImage) {
    selectedPhotoImage.image = image
}

問題は、このメソッドが呼び出されていないことです。私は通常問題はありませんが、これは私を困惑させました。

どんな助けでも素晴らしいでしょう。

PS私のviewControllersには余分なジャンクがたくさんあるので、完全なコードを投稿できませんでした。

PinkeshGjr

その中でイベントを受信するように追加delegateselfくださいprotocolviewController

@objc func addPhoto() {
    let layout = UICollectionViewFlowLayout()
    let objVC = PhotoController(collectionViewLayout: layout)
    objVC.delegate = self
    let photoController = UINavigationController(rootViewController: objVC)
    present(photoController, animated: true, completion: nil)
}

delegate同じを追加することを忘れないでくださいviewControllerextensionクリーンなコードにするために使用します。

extension SourceController: PhotoControllerDelegate {
    func store(image: UIImage) {
        selectedPhotoImage.image = image
    }
}

protocol以下のように定義しますPhotoController

public protocol PhotoControllerDelegate {
    func store(image: UIImage)
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UICollectionViewのスクロールの問題

分類Dev

UICollectionViewスクロールの問題

分類Dev

AvroプロトコルでのFlumeSSLの問題

分類Dev

プロトコル定義の理解の問題

分類Dev

プロトコル違反。Oracle JDBCDriverの問題

分類Dev

Oracle Clob Readerの問題:プロトコル違反

分類Dev

PhoneGap相対プロトコルの問題

分類Dev

Xcode 10.2 with Swift 5.0コンパイラ-プロトコル継承の問題

分類Dev

SwiftCodableプロトコル。文字列エンコーディングの問題

分類Dev

UIcollectionviewセルの問題Swift

分類Dev

Swift 4Conform比較可能なプロトコルとソート方法の問題

分類Dev

Swiftのジェネリックとプロトコルの問題

分類Dev

initに関するSwiftプロトコル拡張の自己参照の問題

分類Dev

プロトコルバッファを使用したPythonプロジェクト、デプロイの問題

分類Dev

SQLException:プロトコル違反。Oracle JDBCドライバーの問題

分類Dev

プロトコルの問題があるSwiftGenericUIViewサブクラス

分類Dev

コルドバプロジェクトの構築に関する問題

分類Dev

カスタムコントロールディスプレイの問題

分類Dev

依存性注入のプロトコル構成-因果関係のジレンマ/コンパイルの問題

分類Dev

無限プロンプトループの問題

分類Dev

ユーザーコントロールのフォントプロパティの問題

分類Dev

WinAPIマルチコントロールの問題

分類Dev

マルチプロセッシングによるスクリプト間のスコープの問題

分類Dev

リーフレットコントロールJoomlaの問題

分類Dev

ルートコントローラーの問題

分類Dev

RESTfulAPIコントローラー/ルートの問題

分類Dev

同じコントロールでのWPFLost-Focusの問題

分類Dev

Cプログラミングコンパイルの問題

分類Dev

Mochaグローバルスコープの問題

Related 関連記事

  1. 1

    UICollectionViewのスクロールの問題

  2. 2

    UICollectionViewスクロールの問題

  3. 3

    AvroプロトコルでのFlumeSSLの問題

  4. 4

    プロトコル定義の理解の問題

  5. 5

    プロトコル違反。Oracle JDBCDriverの問題

  6. 6

    Oracle Clob Readerの問題:プロトコル違反

  7. 7

    PhoneGap相対プロトコルの問題

  8. 8

    Xcode 10.2 with Swift 5.0コンパイラ-プロトコル継承の問題

  9. 9

    SwiftCodableプロトコル。文字列エンコーディングの問題

  10. 10

    UIcollectionviewセルの問題Swift

  11. 11

    Swift 4Conform比較可能なプロトコルとソート方法の問題

  12. 12

    Swiftのジェネリックとプロトコルの問題

  13. 13

    initに関するSwiftプロトコル拡張の自己参照の問題

  14. 14

    プロトコルバッファを使用したPythonプロジェクト、デプロイの問題

  15. 15

    SQLException:プロトコル違反。Oracle JDBCドライバーの問題

  16. 16

    プロトコルの問題があるSwiftGenericUIViewサブクラス

  17. 17

    コルドバプロジェクトの構築に関する問題

  18. 18

    カスタムコントロールディスプレイの問題

  19. 19

    依存性注入のプロトコル構成-因果関係のジレンマ/コンパイルの問題

  20. 20

    無限プロンプトループの問題

  21. 21

    ユーザーコントロールのフォントプロパティの問題

  22. 22

    WinAPIマルチコントロールの問題

  23. 23

    マルチプロセッシングによるスクリプト間のスコープの問題

  24. 24

    リーフレットコントロールJoomlaの問題

  25. 25

    ルートコントローラーの問題

  26. 26

    RESTfulAPIコントローラー/ルートの問題

  27. 27

    同じコントロールでのWPFLost-Focusの問題

  28. 28

    Cプログラミングコンパイルの問題

  29. 29

    Mochaグローバルスコープの問題

ホットタグ

アーカイブ