无法从函数中获取值以将其分配给标签

问题描述 投票:0回答:2

我是新手来构建一个应用程序而是学习。我试图从警报中获取值并将其保存到标签中。这是为本周创建一个简单的时间表。我有两个困难,一个是从函数中获取值,将其显示到我的标签上,该标签位于Main.Sotryboard上按下的Button后面。

我试图让我的价值回到这里分配给标签MonB

      @IBAction func MoB(_ sender: UIButton) {
        ButtonTapped(sender)
}

//试图让我的文本输入回来

我试图从下面的函数中获取值:

         func FoodItemAdded(Food: String)
    {
        //return self.
//Trying to return the value from here.
    }

我也环顾四周,但不知道如何保存这些标签值,所以当我关闭应用程序时,它仍然保存为持久性。

这是完整的代码。

import UIKit

class MenuViewController: UIViewController {

    //Define all the Output Labels
    @IBOutlet weak var MonB: UILabel!
    @IBOutlet weak var MonL: UILabel!
    @IBOutlet weak var MonD: UILabel!
    @IBOutlet weak var TueB: UILabel!
    @IBOutlet weak var TueL: UILabel!
    @IBOutlet weak var TueD: UILabel!
    @IBOutlet weak var WedB: UILabel!
    @IBOutlet weak var WedL: UILabel!
    @IBOutlet weak var WedD: UILabel!
    @IBOutlet weak var ThuB: UILabel!
    @IBOutlet weak var ThuL: UILabel!
    @IBOutlet weak var ThuD: UILabel!
    @IBOutlet weak var FriB: UILabel!
    @IBOutlet weak var FriL: UILabel!
    @IBOutlet weak var FriD: UILabel!
    @IBOutlet weak var SatB: UILabel!
    @IBOutlet weak var SatL: UILabel!
    @IBOutlet weak var SatD: UILabel!
    @IBOutlet weak var SunB: UILabel!
    @IBOutlet weak var SunL: UILabel!
    @IBOutlet weak var SunD: UILabel!

    //Define Buttons to Enable/Disable
    @IBOutlet weak var MondB: UIButton!
    @IBOutlet weak var MondL: UIButton!
    @IBOutlet weak var MondD: UIButton!
    @IBOutlet weak var TuesB: UIButton!
    @IBOutlet weak var TuesL: UIButton!
    @IBOutlet weak var TuesD: UIButton!
    @IBOutlet weak var WedsB: UIButton!
    @IBOutlet weak var WedsL: UIButton!
    @IBOutlet weak var WedsD: UIButton!
    @IBOutlet weak var ThurB: UIButton!
    @IBOutlet weak var ThurL: UIButton!
    @IBOutlet weak var ThurD: UIButton!
    @IBOutlet weak var FridB: UIButton!
    @IBOutlet weak var FridL: UIButton!
    @IBOutlet weak var FridD: UIButton!
    @IBOutlet weak var SatuB: UIButton!
    @IBOutlet weak var SatuL: UIButton!
    @IBOutlet weak var SatuD: UIButton!
    @IBOutlet weak var SundB: UIButton!
    @IBOutlet weak var SundL: UIButton!
    @IBOutlet weak var SundD: UIButton!

    //Define the Edit button to enable Tap Buttons
    @IBOutlet var editButton: UIBarButtonItem!

    //Define all the Output Buttons
    @IBAction func MoB(_ sender: UIButton) {
        ButtonTapped(sender)




    }
    @IBAction func MoL(_ sender: UIButton) {
        ButtonTapped(sender)

    }
    @IBAction func MoD(_ sender: UIButton) {
        ButtonTapped(sender)

    }
    @IBAction func TuB(_ sender: UIButton) {
        ButtonTapped(sender)

    }
    @IBAction func TuL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func TuD(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func WeB(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func WeL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func WeD(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func ThB(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func ThL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func ThD(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func FrB(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func FrL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func FrD(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SaB(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SaL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SaD(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SuB(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SuL(_ sender: UIButton) {
        ButtonTapped(sender)
    }
    @IBAction func SuD(_ sender: UIButton) {
        ButtonTapped(sender)
    }


    //VIEWDIDLOAD Parameters
    override func viewDidLoad() {
        super.viewDidLoad()

        //Hide the Navigation Bar on the screen
        self.navigationController?.isNavigationBarHidden = false

        //Define the Title for the page
        self.title = "~~~Weekly Menu~~~"

        //Enable the buttons to edit
        self.navigationItem.rightBarButtonItem = self.editButton

    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        //Disable UIButton by default
        self.MondB.isEnabled = false
        self.MondL.isEnabled = false
        self.MondD.isEnabled = false
        self.TuesB.isEnabled = false
        self.TuesL.isEnabled = false
        self.TuesD.isEnabled = false
        self.WedsB.isEnabled = false
        self.WedsL.isEnabled = false
        self.WedsD.isEnabled = false
        self.ThurB.isEnabled = false
        self.ThurL.isEnabled = false
        self.ThurD.isEnabled = false
        self.FridB.isEnabled = false
        self.FridL.isEnabled = false
        self.FridD.isEnabled = false
        self.SatuB.isEnabled = false
        self.SatuL.isEnabled = false
        self.SatuD.isEnabled = false
        self.SundB.isEnabled = false
        self.SundL.isEnabled = false
        self.SundD.isEnabled = false


    }

    @IBAction func editEnable(_ sender: Any) {

        //self.MonB.isHidden = false

        // Alert stating Changes can be made
        let alert = UIAlertController(title: "Message for Cook",
                                      message: "Time to change the Menu 
    for Next Week",
                                      preferredStyle: 
    UIAlertController.Style.alert)

        alert.addAction(UIAlertAction(title: "Ok", style: 
    UIAlertAction.Style.default))
        present(alert, animated: true, completion: {


            //Enable Button capabilities
            self.MondB.isEnabled = true
            self.MondL.isEnabled = true
            self.MondD.isEnabled = true
            self.TuesB.isEnabled = true
            self.TuesL.isEnabled = true
            self.TuesD.isEnabled = true
            self.WedsB.isEnabled = true
            self.WedsL.isEnabled = true
            self.WedsD.isEnabled = true
            self.ThurB.isEnabled = true
            self.ThurL.isEnabled = true
            self.ThurD.isEnabled = true
            self.FridB.isEnabled = true
            self.FridL.isEnabled = true
            self.FridD.isEnabled = true
            self.SatuB.isEnabled = true
            self.SatuL.isEnabled = true
            self.SatuD.isEnabled = true
            self.SundB.isEnabled = true
            self.SundL.isEnabled = true
            self.SundD.isEnabled = true

        })
    }


    @objc func ButtonTapped(_ sender: UIButton)
    {
        // Create an alert
        let alert = UIAlertController(
            title: "What to cook?",
            message: "Add The Name Of The Dish:",
            preferredStyle: .alert)

        // Add a text field to the alert for the new item's title
        alert.addTextField(configurationHandler: nil)

        // Add a "cancel" button to the alert. This one doesn't need a handler
        alert.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil))

        // Add a "OK" button to the alert. The handler calls addNewToDoItem()
        alert.addAction(UIAlertAction(title: "OK", style: .default, handler: { (_) in
            if let Dish = alert.textFields?[0].text 
            {

                self.FoodItemAdded(Food: Dish)

            }
        }))

        // Present the alert to the user
        self.present(alert, animated: true, completion: nil)
    }

     func FoodItemAdded(Food: String)
    {


           //return self.
          //Trying to return the value from here.
        }


       //Saving the data

}
swift func
2个回答
0
投票

写下你的功能类似于此

    func FoodItemAdded(Food: String)->String
{
       //setting the parameter value to a variable
       let string = Food
       //returning new string type variable
       return string

 }

您可以将返回值设置为这样的标签,

self.mylabel.text = FoodItemAdded("Burger")

要存储数据,您可以使用核心数据/ SQLITE。核心数据:qazxsw poi Sqlite:qazxsw poi


0
投票

This is how I solved the problem:

https://youtu.be/tP4OGvIRUC4
© www.soinside.com 2019 - 2024. All rights reserved.