为啥我不能将数字附加到我的变量?!在斯威夫特 3

Posted

技术标签:

【中文标题】为啥我不能将数字附加到我的变量?!在斯威夫特 3【英文标题】:Why I can't append number to my Variable?! in Swift 3为什么我不能将数字附加到我的变量?!在斯威夫特 3 【发布时间】:2017-05-15 05:51:04 【问题描述】:

我在向整数变量追加或添加数字时遇到问题!

我必须查看控制器,在第一个控制器中我有以下代码:

    var checkSahafi = Int()

    if sahafi.isSelected == true 
            print("sahafi Selected")
             self.checkSahafi += 1
            performSegue(withIdentifier: "secondStep", sender: self)

         else  if safheArayi.isSelected == true 
            print("safheArayi Selected")
            self.checkSahafi += 2
            performSegue(withIdentifier: "secondStep", sender: self)

         else if laminet.isSelected == true 
        print("laminet Selected")
            self.checkSahafi += 3
            performSegue(withIdentifier: "secondStep", sender: self)

     else if simpichi.isSelected == true 
        print("simpichi Selected")
            self.checkSahafi += 4
            performSegue(withIdentifier: "secondStep", sender: self)

    

在第二个视图控制器中我有这个方法:

    let checkNum = firstViewController().checkSahafi

    override func viewDidLoad() 
          super.viewDidLoad()

    print("\(checkNum)")
    print("\(checkNum)")
    print("\(checkNum)")
    print("\(checkNum)")

    

但应用程序只是打印 0 我怎样才能附加这些数字?!

记得我也使用了 checksahafi.append 方法,没有得到结果!

【问题讨论】:

你的数据传递代码在哪里 没有!我的应用中没有数据库 您可以大大简化其中的一些代码。这可能是这样的:pastebin.com/EwDbbgq7 感谢 Alexander 下面的代码对我有用 【参考方案1】:

您从FirstViewController 的全新实例中获得价值的问题是您需要做的是用您的控制器覆盖prepareForSegue 并传递值。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
    if let vc = segue.destination as? SecondViewController 
        vc.checkNum = self.checkSahafi
    

现在只需像这样在SecondViewController 中更改checkNum 的声明。

var checkNum = Int()

override func viewDidLoad() 
    super.viewDidLoad()
    print("\(checkNum)")

不要在每个 if 条件中多次调用 performSegue(withIdentifier:sender:),只需在所有 if 条件之后最后调用它

if sahafi.isSelected == true 
    print("sahafi Selected")
    self.checkSahafi += 1

else if safheArayi.isSelected == true 
    print("safheArayi Selected")
    self.checkSahafi += 2

else if laminet.isSelected == true 
    print("laminet Selected")
    self.checkSahafi += 3
 else if simpichi.isSelected == true 
    print("simpichi Selected")
    self.checkSahafi += 4

performSegue(withIdentifier: "secondStep", sender: self)

【讨论】:

又没有得到结果,能解释一下吗? 非常感谢它的工作 @SaeedRahmatolahi 欢迎朋友 :) @NiravD - 当然是兄弟

以上是关于为啥我不能将数字附加到我的变量?!在斯威夫特 3的主要内容,如果未能解决你的问题,请参考以下文章

斯威夫特 3;用非可选字符串附加可选字符串

尝试制作一个屏幕截图按钮,当单击按钮时将屏幕截图发送到我的相机胶卷。斯威夫特 3,Xcode 8,IOS

为啥字符和正斜杠被附加到我的 NSURL?

为啥 Xcode 不能附加到某些程序?

为啥我的 UITapGestureRecognizer 在我将它附加到我的 UITableViewCell 中的元素时不起作用?

为啥在尝试将 UIPopover 附加到不同类中的 UIButton 时出现此构建错误?