new to Swift. Below code is executed without error but in the console it shows a message. Is it an error message and how to fix it? Is it required to be fixed when sending app for review.
Thanks
This is my App structure :
VC(1) --> goto --> VC(2)
In VC(1) I have:
I created a Link to VC(2) : Control-Drag BtnGo to VC(2)
I named the segue : SegueToVC2
What I wanted to do :
I need to pass a string to VC2. Before passing check if user made a selection.
in PrepareForSegue,
override func PrepareForSegue(segue:UIStoryboardSegue, sender: AnyObject!) {
var strchk: String = UIlabelMsg.text!
if strchk.isEmpty {
var alert = UIAlertController(title: "Alert",message:" No Selection made",
preferredStyle: UIAlertControllerStyle.Alert)
alert.AddAction(UIAlertction(title: "OK",style:UIAlertActionStyle.Default,hanlder: nil))
self.presentViewController(alert, animated: true, completion: nil )
} else {
if (segue.Identifier =="SegueToVC2") {
var targetVC = segue.destinationViewControl as! VC2
targetVC.strMsg = UILabelMsg.text
}
}
Problem :
in the console, it shows this:
UIView : 0x7fdfc25668c0; frame =(0,0,375,667); autoresize = w+h; layer = 's windows is not equal to 's View's Window!
I have these questions
How come I don't need to write code for BtnGo when I use prepareForSegue
? if I have more than 2 button? these 2 will handle by Segue?
UIView
have not presentViewController
method, what's the self
? You can using window of UIView
to presenting.
var alert = UIAlertController(title: "Alert",message:" No Selection made",
preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK",style:UIAlertActionStyle.Default,handler: nil))
self.window?.rootViewController?.presentViewController(alert, animated: true, completion: nil)
EDIT: Possible you need to override the shouldPerformSegueWithIdentifier
to check the UIlabelMsg.text
.
override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool {
var strchk: String = UIlabelMsg.text!
if strchk.isEmpty {
var alert = UIAlertController(title: "Alert",message:" No Selection made",
preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "OK",style:UIAlertActionStyle.Default,handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
return false
} else {
return true
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.