-1
在我的应用程序中,用户可以添加婴儿名称。我想确保这个宝贝之前没有添加过,所以我可以添加他。如果他在那里,会出现一条错误消息,告诉他如此。 这里的问题,我不能检查这个婴儿是否被添加。用于检查的代码从不执行。我不知道为什么。 我试图在很多方面找出问题所在。但是,当检查代码被忽略时,警报消息会以黑屏显示,并以任何方式添加宝宝!检查此对象是否存在
这是我的代码,这段代码是否保存宝贝是否加入。
let addBaby = PFObject(className: "Baby")
let CheckBaby = PFQuery(className: "Baby")
CheckBaby.whereKey("user1", equalTo: ParentID!)
CheckBaby.whereKey("user2", equalTo: PFUser.currentUser()!)
CheckBaby.findObjectsInBackgroundWithBlock({ (object:[PFObject]?,
error:NSError?) -> Void in
for object in object! {
if object["baby_name"] as! String == self.babyName {
print("This baby has been added before.")
let myAlert = UIAlertController(title:"Error", message:"This baby has been added before.", preferredStyle:UIAlertControllerStyle.Alert)
let okAction = UIAlertAction (title: "OK", style: UIAlertActionStyle.Default, handler: nil)
myAlert.addAction(okAction)
self.presentViewController(myAlert, animated: true, completion: nil)
return}
else{
}
}// end for
})
addBaby.setObject(self.ParentID!, forKey: "user1")
addBaby.setObject(self.babyName.text!, forKey: "baby_name")
addBaby.setObject(self.parentName.text!, forKey: "parent_fname")
addBaby.setObject(self.babyClass.text!, forKey: "class_name")
addBaby.setObject(PFUser.currentUser()!, forKey: "user2")
addBaby.saveInBackgroundWithBlock { (saved:Bool, error:NSError?) -> Void in
if saved {
self.navigationController?.popViewControllerAnimated(true)
} else {
error!.localizedDescription
}
}
谢谢你的帮助!
同样的问题!此代码不工作,并以任何方式添加宝宝!如果object [“baby_name”]为! String == self.babyName { babyNotFound = false print(“此婴儿已被添加过。”) let myAlert = UIAlertController(标题:“错误”,消息:“此婴儿已添加过。”,preferredStyle: UIAlertControllerStyle.Alert) let okAction = UIAlertAction(title:“OK”,style:UIAlertActionStyle.Default,handler:nil) myAlert.addAction(okAction) self.presentViewController(myAlert,animated:true,completion:nil)return} –
Yaay,它的工作!我尝试了你的建议解决方案和dispatch_async函数。另外,我意识到我忘了在比较中放置self.babyName.text。 –
非常感谢你! –