功能/全局变量的使用不正确?

时间:2015-08-12 18:39:38

标签: ios swift parse-platform

我有一个技术问题...我通过使用此代码获得了所需的结果但由于某种原因,它似乎不是“正确的”编程方式。任何人都可以告诉我,如果我的代码完全合理,或者有更好的方法吗?

所以我需要访问滑块的更改值并将其保存到我的后端(Parse),但因为我以编程方式添加了滑块/表格单元格,所以我很难直接访问更改后的值。

所以我创建了一个名为theDistance的全局变量,并将其设置为滑块更改后的值文本,然后将其放入函数中进行保存。

这是完成此类任务的正确方法吗?

  var theDistance: String = ""

 @IBAction func doneButton(sender: AnyObject) {

        runSearch()
        self.performSegueWithIdentifier("toBrowsePage", sender: self)

}

func runSearch() {

    var mySearch = PFObject(className: "Searches")
    mySearch["distanceSearches"] = String(theDistance)
    mySearch.saveInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
        if success {

        }
    })
}




func sliderValueChanged(sender: UISlider) {

    var slider = sender
    let cell = self.theTableView.cellForRowAtIndexPath(NSIndexPath(forRow: slider.tag, inSection: 0)) as UITableViewCell!

    for view in cell.subviews {
        var theValue = Int(slider.value)
        if let label = view as? UILabel {
            label.text = "\(theValue)" + "mi."
            theDistance = label.text!
        }
    }
}

1 个答案:

答案 0 :(得分:0)

更好的方法是在数据发生变化时直接使用新数据更新数据模型,然后始终从模型层提取数据。缓存更改的结果不是处理此问题的最佳方法。

你对这段代码是正确的直觉;当您将来更新布局或功能时,它会导致各种错误。