Parse platform 向viewcontroller发送数据时显示零数据

Parse platform 向viewcontroller发送数据时显示零数据,parse-platform,swift2,Parse Platform,Swift2,由于某些原因,我无法获取要发送到AddParticipant视图的值 以下是ValuetoPass之前和segue:LAbelText之后的数据 ValuetoPass=GXEuoAkhjP 标签文本= segue的TableView代码: override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { //CODE TO BE

由于某些原因,我无法获取要发送到AddParticipant视图的值

以下是ValuetoPass之前和segue:LAbelText之后的数据

ValuetoPass=GXEuoAkhjP 标签文本=

segue的TableView代码:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath        indexPath: NSIndexPath) {
            //CODE TO BE RUN ON CELL TOUCH

    let indexPath = tableView.indexPathForSelectedRow!;
    let currentCell = tableView.cellForRowAtIndexPath(indexPath) as UITableViewCell!;

    let valueToPass = self.participantId[indexPath.row] as String

    print("ValuetoPass = ",valueToPass)


   func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if (segue.identifier == "editParticipant") {

            let viewController = segue.destinationViewController as!   AddViewController
            viewController.LabelText = valueToPass;        }

   }

}
AddViewController的代码:

@IBOutlet weak var firstnameTF: UITextField!
@IBOutlet weak var lastnameTF: UITextField!
@IBOutlet weak var gradeTF: UITextField!
@IBOutlet weak var teacherTF: UITextField!
@IBOutlet weak var emailTF: UITextField!
@IBOutlet weak var phoneTF: UITextField!
@IBOutlet weak var transportationTF: UITextField!
@IBOutlet weak var userSchoolTF: UITextField!


var LabelText = String()

@IBOutlet weak var qrCode: UIImageView!


@IBOutlet weak var userPicture: UIImageView!

override func viewDidAppear(animated: Bool) {

}


override func viewDidLoad() {
    super.viewDidLoad()


    print("LabelText = ", LabelText)
    let currentUser = PFUser.currentUser()
    currentUser!.refreshInBackgroundWithBlock { (object, error) -> Void in
     //   print("Refreshed")
        currentUser!.fetchIfNeededInBackgroundWithBlock { (result, error) -> Void in

            self.userSchoolTF.text = currentUser!.objectForKey("school") as? String
        }
    }

因此,在发送数据之前,我已经有了数据,但在序列之后显示为nil?

Swift是否有NSString对象?还是字符串是一样的东西

在目标c中,分配给对象指针就是创建对前一个对象的引用。当您使其变弱时,它不会添加到引用计数,因此如果您取消分配原始指针,则会同时取消分配这两个指针。Strong意味着它确实增加了引用计数,因此取消分配第一个对象实际上不会取消分配对象

如果String和NSString是两个不同的东西,请尝试将您的类型改为NSString,并查看它是否被保留


我在Obj-C工作,不是Swift,我不确定两者之间的细微差别。

我想你在故事板中创建了segue,对吗? 将prepareForSegue函数从tableView函数中删除。此外,prepareForSegue应覆盖。尝试使用下面的代码

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if( segue.identifier == "editParticipant" ){
        if let destinationVC = segue.destinationViewController as? AddViewController {
            destinationVC.LabelText = valueToPass
        }
    }
}

它们是桥接的,所以您可以在它们之间强制转换更改为您所拥有的,是否因为字符串被nil替换而出现错误var LabelText=String?现在我的LabelText显示为nilIt刚刚开始工作,我知道我应该覆盖它。谢谢ZassX