如何在没有 segue 的情况下在两个文件之间传输数据?

How can I transfer data between two files without segue?

提问人:selim 提问时间:4/6/2023 最后编辑:Swift Dev Journalselim 更新时间:4/7/2023 访问量:50

问:

UIView 可作为单独的文件使用。如何在没有 segue 的情况下在两个文件之间传递数据?

我正在尝试在不使用 segue 的情况下传递数据。我在主视图控制器中使用 UIView。此 UIView 有一个单独的文件。我想将数据传输到该文件并将其分配给变量。

import UIKit
import Parse

class HesapView: UIView {
    
    @IBOutlet weak var bakiyeLabel: UILabel!
    @IBOutlet weak var bakiyeTLabel: UILabel!
    @IBOutlet weak var ibanOrKartLabel: UILabel!
    @IBOutlet weak var ayrintiButton: UIButton!
    @IBOutlet weak var segmentControl: UISegmentedControl!
    
    @IBAction func buttonTapped(_ sender: Any) {
        switch segmentControl.selectedSegmentIndex {
        case 0:
            print("hesap")
        case 1 :
            print("kart")
        default:
            break
        }
    }
     
    @IBAction func segmentControlTapped(_ sender: Any) {
        switch segmentControl.selectedSegmentIndex {
        case 0:
            bakiyeLabel.text = "Kullanılabilir Bakiye"
            bakiyeTLabel.text = "\(AnasayfaVC().anaHesapBakiye) ₺"
            ibanOrKartLabel.text = "TR26 0000 0000 0000 0000 0050 01"
            ayrintiButton.setTitle("Tüm Hesaplar >", for: .normal)
        case 1 :
            bakiyeLabel.text = "Kullanılabilir Limit"
            bakiyeTLabel.text = "\(AnasayfaVC().anaKartLimit) ₺"
            ibanOrKartLabel.text = "Kart Numarası: 2600 0000 0000 0001"
            ayrintiButton.setTitle("Tüm Kartlar >", for: .normal)
        default:
            break
        }
        
    }

我想在 UIView 中显示检索到的数据。

func getDataParseFromSegmentView() {
        
        let hesapQuery = PFQuery(className: "Hesaplar")
        hesapQuery.whereKey("objectId", equalTo: "3gBzkj3Bk1")
        
        hesapQuery.findObjectsInBackground { objects, error in
            if error != nil {
                self.alertYolla(titleInput: "Hata", messageInput: error?.localizedDescription ?? "Hata Oluştu.")
            } else {
                if objects != nil {
                    for object in objects! {
                        if let hesapAdi = object.objectId {
                            self.anaHesap = hesapAdi
                        }
                        if let hesapBakiye = object.object(forKey: "bakiye") as? String {
                            self.anaHesapBakiye = hesapBakiye
                        }
                        if let hesapIBAN = object.object(forKey: "hesapNo") as? String {
                            self.anaHesapIBAN = hesapIBAN
                        }
                    }
                }
            }
        }
        
        let kartQuery = PFQuery(className: "Kartlar")
        kartQuery.whereKey("kartNo", equalTo: "5026722530589834")
        kartQuery.findObjectsInBackground { objects, error in
            if error != nil {
                self.alertYolla(titleInput: "Hata", messageInput: error?.localizedDescription ?? "Hata Oluştu.")
            } else {
                if objects != nil {
                    for object in objects! {
                        if let kartNo = object.object(forKey: "kartNo") as? String {
                            self.anaKartNo = kartNo
                        }
                        if let kartLimit = object.object(forKey: "kalanLimit") as? String {
                            self.anaKartLimit = kartLimit
                        }
                        if let kartID = object.objectId {
                            self.anaKartID = kartID
                        }
                    }
                }
            }
        }
    }

我尝试将文件分配给变量,但没有成功。

let iuView = UIView()
iuView.variable1 = variable2

------------------------------
UIView

texField.text = variable1

我试着像上面的例子一样做,但没有用。

iOS Swift Cocoa-Touch

评论

1赞 Larme 4/6/2023
MainViewController 有一个或一个,不是吗?视图在 ViewController 内部?如果是,就去做@IBOutletvarHesapViewthatVar.value = someThing
0赞 Ptit Xav 4/7/2023
在目标视图中使用公共变量或公共函数来设置此变量。 视图是对象,因此一旦创建,它们就会充当其他对象。

答: 暂无答案