Ich bin ein Problem mit einer einfachen Variablen von einer Klasse zur anderen zu gelangen und es ist darüber hinaus extrem frustrierend:/...Wie kann man auf Variablen von einer Klasse in einer anderen zugreifen? Swift Code
Hier ist der Deal Ich habe zwei View-Controller-Klassen genannt: ViewController.swift
und ViewController2.swift
ViewController.swift
ist mit einem Storyboard verknüpft, das eine Art von Inventarbeutel hat, die ich nur ein Bild platziert habe. Dann gibt es eine @IBAction für, wenn Sie auf die Tasche klicken, öffnet es sich und das zweite Storyboard erscheint in Sicht. Dies wird von ViewController2.swift
gesteuert. Alles, was ich tun möchte, ist einfach die Mitte des Taschenbildes von ViewController an ViewController2 zu übergeben, aber ich kann es nicht scheinen, um zu arbeiten, jede Hilfe würde sehr geschätzt werden.
class ViewController: UIViewController {
@IBOutlet weak var InventoryBag: UIImageView!
var bagCenter:CGPoint = CGPoint(x: 0, y: 0)
override func viewDidLoad() {
super.viewDidLoad()
@IBAction func InventoryButtonTapped(sender: UIButton) {
self.InventoryBag.image = UIImage(named: "backpackimageopen")
bagCenter = self.InventoryBag.center
func transferViewControllerVariables() -> (CGPoint){
return bagCenter
}
Wenn ich das bagCenter von diesem ViewController aus drucke, funktioniert es richtig und gibt mir einen korrekten Wert. Also die Variable bagCenter
möchte ich irgendwie an ViewController2.swift
übergeben.
Hier ist, was ich aus ViewController2.swift
versuchte, aber es scheint nie zu funktionieren und gibt mir immer eine 0 und nicht den tatsächlichen Wert.
class ViewController2: UIViewController {
@IBOutlet weak var HideButton: UIButton!
@IBOutlet weak var InventoryCollection: UICollectionView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
//Load the center of the inventory bag to this view controller to align the hide button.
var bagCenter = ViewController().transferViewControllerVariables()
}
Aber wenn ich dies tun, ergibt sich immer in einem 0 und ich habe nicht die tatsächlichen Koordinaten des Beutels, die in ViewController1 zeigen sich.
Sie eine neue Instanz von Viewcontroller in ViewController2 Schaffung –
Wie würde ich über sie gehen anders? Vielen Dank im Voraus :) –