如何将Parse对象字段从一个类发送到另一个类?

时间:2015-07-10 18:02:43

标签: ios objective-c swift parse-platform

我想做这样的事情: 在一个ViewControleer上,我正在向Parse.com查询,我将对象字段发送到Label.Text。通过单击一个按钮对象随机更改,通过单击另一个 - 下一个ViewController打开。想象一下Tinder - 在第一个VC上刷我的女孩,在新的聊天开启时,女孩的名字在NavigatorItem的头部

所以我想在没有其他查询的情况下将我在该视图中使用的对象字段“名称”发送给另一个。 我不知道,我是否可以通过segue或协议来做到这一点。你能以某种方式帮助我实施吗?

这是我随机函数的代码

func retriveJobData() {
    var query: PFQuery = PFQuery(className: "Jobs")
    query.getObjectInBackgroundWithId("AUeuvj0zk2") {
        (newJobObject: PFObject?, error: NSError?) -> Void in

        if error == nil && newJobObject != nil {
            println(newJobObject)

            if let newJobObject = newJobObject {

            self.PrcieTextField.text = newJobObject["jobPrice"] as? String

            self.DateTextField.text = newJobObject["jobDate"] as? String

            self.DescriptionTextField.text = newJobObject["jobDescription"] as? String

            }
        } else {
            println(error)
        }
    }
}

我想将newJobObject [“jobName”]发送到另一个ViewController的NavigatorItemName

2 个答案:

答案 0 :(得分:0)

您可以为此目的覆盖prepareForSegue:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "yourSegueIdentifier") {
        // pass data to next view
    }
}

答案 1 :(得分:0)

假设您有一些触发推送到新viewController并且您正在使用故事板的方法,请使用您在故事板中设置的标识符来呼叫performSegue

@IBAction func buttonPressed(sender: UIButton!) {
    performSegueWithIdentifier("identifier", sender: nil)
}

然后覆盖prepareForSegue并传入字符串

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "identifier" {
        let controller = segue.destinationViewController as! ViewController
        controller.jobName = someWayThatYouRetrieveNewJobObjectName
} 

然后在ViewController中确保您拥有jobName的属性

var jobName:String! //declare this as an optional instead if needed

并设置导航标题

navigationItem.title = jobName