Public struct auf weiterem File verwenden

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Public struct auf weiterem File verwenden

    Hallo zusammen,

    seit langem bin ich mal wieder etwas dabei mich in Swift ein zu arbeiten. Ich teste gerade für mich etwas rum. Schau mir die ein oder anderen Youtube Tutorials an um das ganze Zeugs etwas besser zu verstehen.
    Nun bin ich auf ein Problem gestoßen, dass ich einfach nicht kapier. Ich konnte leider auch Online nichts dazu finden. evtl. verstehe ich da was total falsch?

    im ViewController.swift lege ich eine public struct an. Dort befindet sich einfach zwei Variablen. Nun kann ich im ViewController.swift darauf zu greifen. So weit alles in Ordnung. Nun wird ein neues Swiftfile angelegt. Versuche ich dort auf die Struct zu zu greifen, Wird mir diese zwar angezeigt, allerdings fehlen die Variablen die sich darin befinden. Aber diese sollten sich dort doch auch befinden?

    Quellcode

    1. import UIKit
    2. class ViewController: UIViewController {
    3. override func viewDidLoad() {
    4. super.viewDidLoad()
    5. // Do any additional setup after loading the view.
    6. var MeinAuto = MyCar(model: "Mercedes", color: "black")
    7. print(MeinAuto.color)
    8. }
    9. public struct MyCar {
    10. var model: String
    11. var color: String
    12. }
    13. }
    Alles anzeigen

    Quellcode: MyCar.swift

    1. import UIKit
    2. class MyCar: UICollectionViewCell {
    3. var MeinAKtuellesAuto = MyCar(HIER WIRD NICHTS ANGEZEIGT)
    4. }
  • Ach, manchmal sieht man den Wald vor Bäumen nicht. Dank. Nun kann ich das ganze abfragen. Allerdings scheint es mit der Ausgabe noch ein Problem zu geben.
    Wenn ich nun
    print(MeinAktuellesAuto.color) ausgeben, sagt er mir "Cannot find type 'MeinAktuellesAuto.color' in scope"
  • struct MyCar definierst Du innerhalb einer Klasse. Vermute mal nicht, dass Du das möchtest. Erstelle eine Swift-Datei und dort eine Struktur mit z.B. den Namen Car.

    var MeinAKtuellesAuto = MyCar() ist eine Membervariable vom Typen class MyCar. Eher unüblich, dass man sowas macht. Aber ich vermute mal, Du möchtest lieber var meinAuto = Car().

    Tipp: Such dir ein Buch oder nimm die offizielle Dokumentation und lerne erst die Programmiersprache Swift. Zu Beginn wirst Du nicht alles verstehen, aber Du es schon mal gesehen bzw. weißt wo Du nachschlagen kannst. Dann beginne mit dem Programmieren unter iOS. Aber am besten auch mit einem Buch.