2017-04-02 2 views
-2

Ich versuche, UIViewController zu öffnen, wenn ich auf einen Artikel innerhalb UICollectionView klicke, aber mit diesem Code stürzt meine App und Xcode und Simulator neu gestartet, so dass ich nicht einmal sehen kann, wo das Problem ist.Schnell öffnen neuer UIViewController

import UIKit 

class ViewController: UICollectionViewController, UICollectionViewDelegateFlowLayout { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     collectionView?.register(CustomCell.self, forCellWithReuseIdentifier: "cellId") 
    } 

    override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 
     return 5 
    } 

    override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 
     let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cellId", for: indexPath) as! CustomCell 

     cell.imageViewGame.image = UIImage(named: imageArray[indexPath.row]) 

     return cell 
    } 

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 
     return CGSize(width: view.frame.width/2, height: view.frame.width/2) 
    } 

    override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 
     performSegue(withIdentifier: "postController", sender: title[indexPath.row]) 
    } 

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
     if segue.identifier == "postController" { 
      let postController = segue.destination as! PostController 

      postController.title = sender as! String 

     } 
    } 
} 

Kennt jemand aus diesem Code, warum meine App abstürzt? Wenn es wichtig ist, verwende ich kein Storyboard.

+0

Sie haben auch Fehlermeldung schreiben, die Sie bekommen. Wir sind kein Augur. –

+0

1. Was sagt das Debugprotokoll? 2. PostController Identifier existiert? – carlos21

+0

Ich kann keine Fehlermeldung sehen, mein Xcode stürzt jedes Mal ab. – user3593157

Antwort

0

Try this:

  1. Machen Sie nicht Postcontroller Kennung in Ihrem segue

enter image description here

zu erklären vergessen
  1. Sie haben soeben kann es modal präsentieren mit:

Überschreibung func Collection (_ Collection: UICollectionView, didSelectItemAt indexPath: IndexPath) {

 let postController = PostController() 
     postController.title = title[indexPath.row] 
     present(postController, animated: true, completion: nil) 
    } 
+0

Ich verwende kein Storyboard. Ich hatte in der Vergangenheit einige Probleme mit dem Storyboard, also entschied ich mich, es aufzugeben, wie es einige Experten empfohlen haben. Jetzt versuche ich herauszufinden, wie es ohne Storyboard geht. – user3593157

+0

Wenn Sie Storyboard verwenden, wo ist die Definition Ihres Segments? – carlos21

+0

Ich habe es nicht. Ich dachte, es ist nicht erforderlich, dass es nur für die Vorbereitung funktioniert, damit es identifizieren kann, welche Seque es ausführen soll. – user3593157

Verwandte Themen