nicht anzeigen Ich habe einen Meme-Generator gebaut und ich habe den View-Controller eingebettet, der die Meme-Erstellung in einem Tab-Leiste View-Controller behandelt. Die erste Registerkarte zeigt eine Tabellenansicht an und ich versuche, diese Tabellenansicht anzuzeigen, sobald sie über die Aktivitätsansicht gespeichert wurden. Ich habe meiner App-Delegatendatei ein Meme-Array hinzugefügt (ich weiß, dass dies umstritten ist, aber es ist eine Voraussetzung für diese Übung), und ich habe bestätigt, dass das Meme gespeichert und an die App-Delegatendatei übergeben wird.Kann Array-Daten von App Delegate in der Tabellenansicht Zelle
Ich möchte das Bild und den Text des gespeicherten Memes in der Tabellenansicht anzeigen, wenn der Benutzer ein neues Mem erstellt. Hier ist was ich habe und das funktioniert nicht.
import UIKit
class TableViewMemesViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
var memes: [Meme]!
override func viewDidLoad() {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
memes = appDelegate.memes
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return memes.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell")
let meme = memes[indexPath.row]
cell?.imageView?.image = meme.memedImage
cell?.textLabel?.text = meme.topText
return cell!
}
}
Wohin gehe ich falsch? Der Prozess von CellForRowAt ist für mich noch neu und frustrierend. Here ist ein Link zum Repo.
So haben Sie 1 Registerkarte für Meme Erstellung und anoth um die erstellten Meme zu sehen, oder? Und wenn Sie ein neues Meme auf der Registerkarte "Erstellung" erstellen und zur Registerkarte "Ansicht" gehen, finden Sie das neue Meme nicht? –
Schließen, ja. Es gibt zwei Registerkarten: das erste für eine Tabellenansicht und das zweite für eine Sammlungsansicht. Der Meme-Generator wird über eine Navigationsleisten-Schaltfläche in jedem der Registerkarten aufgerufen. –
Überprüfen Sie meine Antwort unter –