Hallo,
ich erarbeite gerade eine Aufgabe. Ich soll eine wiederverwendbare Fehlermeldung erzeugen. Dies beinhaltet das die Überschrift und der Text angepasst werden kann.
Meine Überlegung hier ist das ich durch einen NSAlert die Eingabe abfrage und der User die Überschrift und den Text eingeben kann. Soweit so gut.
Mein Problem ist das die Eingabe nicht weiterverarbeitet wird, ich finde keinen Fehler kann mir da jemand helfen mir einen Denkanstoss zu geben?
Ich stehe noch am Anfang bei meinen Kenntnissen. Bitte habt Verständnis dafür.
Alles anzeigen
ich erarbeite gerade eine Aufgabe. Ich soll eine wiederverwendbare Fehlermeldung erzeugen. Dies beinhaltet das die Überschrift und der Text angepasst werden kann.
Meine Überlegung hier ist das ich durch einen NSAlert die Eingabe abfrage und der User die Überschrift und den Text eingeben kann. Soweit so gut.
Mein Problem ist das die Eingabe nicht weiterverarbeitet wird, ich finde keinen Fehler kann mir da jemand helfen mir einen Denkanstoss zu geben?
Ich stehe noch am Anfang bei meinen Kenntnissen. Bitte habt Verständnis dafür.
Quellcode
- //
- // ViewController.swift
- // OBJC9_Bildbetrachter
- //
- // Created by Yvonne Beyer on 05.04.20.
- // Copyright © 2020 Yvonne Beyer. All rights reserved.
- //
- import Cocoa
- class ViewController: NSViewController {
- var ueberschrift: String!
- var text: String!
- @IBOutlet weak var bildAnzeige: NSImageView!
- @IBOutlet weak var bildName: NSTextField!
- func infoMeldung() {
- if bildName == nil {
- let infoMeldung: NSAlert = NSAlert()
- infoMeldung.messageText = ueberschrift
- infoMeldung.informativeText = text
- infoMeldung.runModal()
- }
- }
- @IBAction func Meldung(_ sender: NSButton) {
- meldung()
- }
- func meldung() {
- let eingabeMessage = NSAlert()
- eingabeMessage.messageText = "Überschrift"
- eingabeMessage.informativeText = "Bitte geben Sie die Überschrift und den Text der Meldung ein!"
- //Button zum beenden und hinzufügen erzeugen
- eingabeMessage.addButton(withTitle: "Hinzufügen")
- eingabeMessage.addButton(withTitle: "Beenden")
- //Eingabefeld erzeugen
- let eingabeUeberschrift = NSTextField(frame: NSRect(x: 0, y: 2, width: 200, height: 24))
- let eingabeText = NSTextField(frame: NSRect(x: 0, y: 28, width: 200, height: 24))
- let zeilen = NSStackView(frame: NSRect(x: 0, y: 0, width: 200, height: 58))
- zeilen.addSubview(eingabeUeberschrift)
- //Variable zur Verwendung in der Überschrift der Meldung infoMeldung
- ueberschrift = eingabeUeberschrift.stringValue
- zeilen.addSubview(eingabeText)
- //Variable zur Verwendung in des Textes der Meldung infoMeldung
- text = eingabeText.stringValue
- eingabeMessage.accessoryView = zeilen
- eingabeMessage.runModal()
- }
- @IBAction func beenden(_ sender: Any) {
- NSApplication.shared.terminate(self)
- }
- @IBAction func oeffnen(_ sender: Any) {
- if let meinBild = NSImage(contentsOfFile: bildName.stringValue) {
- bildAnzeige.image = meinBild }
- else {
- let meineMeldung: NSAlert = NSAlert()
- meineMeldung.messageText = ueberschrift
- meineMeldung.informativeText = text
- meineMeldung.runModal()
- }
- }
- @IBAction func meinDialog(_ sender: Any) {
- //den Dialog erzeugen
- let meinDialog: NSOpenPanel = NSOpenPanel()
- meinDialog.prompt = "Öffnen"
- meinDialog.allowedFileTypes = NSImage.imageTypes
- //wurde etwas ausgewählt?
- if meinDialog.runModal() == NSApplication.ModalResponse.OK {
- let meineDatei = meinDialog.url?.path
- bildName.stringValue = meineDatei!
- //das Bild über die eigene Methode laden
- oeffnen(sender)
- }
- }
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- }
- override var representedObject: Any? {
- didSet {
- // Update the view, if already loaded.
- }
- }
- }