传递数据不会更新字符串

时间:2017-06-02 22:33:31

标签: ios iphone swift xcode swift3

我有一个表格视图,里面有一个点击手势识别器,当我双击单元格时,我想将数据从单元格传递到另一个视图控制器。现在它只工作一次并且不会更新视图控制器中的字符串。字符串保持永久。现在我需要帮助更新字符串,以便当我尝试双击另一个单元格时,字符串将更新而不是仅通过保持视图控制器中的字符串值与第一个单元格的值保持一致而只工作一次。这是我的代码。

用于双击手势识别器的tableview中的代码。

 func CellTappedTwice(sender: UITapGestureRecognizer!) {

    if let index = sender.view?.tag{
        if let object = objects?[index]{
            if let objectId = object.objectId{
                popupViewController.objectId = objectId
            }
        }
    }
    self.present(popupViewController, animated: true, completion: nil)
}

视图控制器中的代码:

var objectId : String?
@IBOutlet weak var QrCode: UIImageView!
override func viewDidLoad() {
    super.viewDidLoad()
    if let object = objectId {
        let qrcode = DCQRCode(info: object, size: CGSize(width: 170, height: 170))
        qrcode.positionStyle = [
            (UIImage(named: "RedOuterPosition")!, DCQRCodePosition.topRight),
            (UIImage(named: "RedOuterPosition")!, DCQRCodePosition.topLeft),
            (UIImage(named: "RedOuterPosition")!, DCQRCodePosition.bottomLeft)
        ]
        qrcode.maskImage = UIImage(named: "RedColors")
        QrCode.image = qrcode.image()
        print("hello\(objectId)")
    }
}

1 个答案:

答案 0 :(得分:0)

将处理objectId的代码移动到viewWillAppear(_:)方法,而不是viewDidLoad。 viewDidLoad方法仅在视图控制器的生命周期内被调用一次,因此,如果您一遍又一遍地使用相同的视图控制器,那么在第一次进行objectId时,您只会进行import pandas as pd import matplotlib.pyplot as plt a = [3,5,4,2,1] b = [3,4,5,2,1] c = [3,5,4,6,1] df = pd.DataFrame({'a' : a,'b' : b, 'c' : c}) df.plot.barh(stacked=True); fig, ax = plt.subplots() fig.set_size_inches(6,6) ax.set_title("My ax title") #plt.title("My plt title") # This seems to be identical to ax.set_title # Which is prefered? ax.legend(loc='upper left') plt.show() 。 ; s显示。