我想做这样的事情: 在一个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
答案 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