我认为我们都遇到过问题Swift
。我无法找到问题的正确答案。我一遍又一遍地试过。
我代表了一个图片,它解释了我们的应用程序应该如何运作。
用户可以为每个视图选择一个选项。因此,在最后一个中,Labels
将根据每个选择而改变。
我希望你能帮助我。感谢
类ViewController1:UIViewController
{
@IBOutlet weak var colorLabelSelected: UILabel!
@IBOutlet weak var nextOutlet: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
nextOutlet.hidden = true
}
@IBAction func greenButton(sender: AnyObject) {
colorLabelSelected.text = "You have selected a green BG color"
nextOutlet.hidden = false
}
@IBAction func blueButton(sender: AnyObject) {
colorLabelSelected.text = "You have selected a blue BG color"
nextOutlet.hidden = false
}
@IBAction func pinkButton(sender: AnyObject) {
colorLabelSelected.text = "You have selected a pink BG color"
nextOutlet.hidden = false
}
}
ViewController
2和ViewController
3与ViewController
1
我已经创建了一个名为Attributes的。swift
类,但它现在是空的。
我不知道如何做这项工作。
答案 0 :(得分:1)
当您按下下一个viewController
,覆盖prepareForSegue
方法时,请引用您的destinationViewController并向其传递所需信息。这有助于传递这些数据
或者创建一个单例对象,某种模型,在其中编写用户在第一个屏幕上选择的值,然后在第二个屏幕上 - 从该单个对象中读取数据。
答案 1 :(得分:1)
定义您的模型,例如:
class MyData {
var background = UIColor()
var title = ""
var level = ""
}
使用appDelegate。在AppDelegate.swift中,
var myData = MyData()
在其他屏幕中,例如第一个屏幕,请使用
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.myData.background = yourColor
与他人相同
答案 2 :(得分:0)
使用@IBAction func pinkButton(sender: AnyObject) {
colorLabelSelected.text = "You have selected a pink BG color"
nextOutlet.hidden = false
self.performSegueWithIdentifier("thirdController", sender: self)
}
override func prepareForSegue(segue:(UIStoryboardSegue!), sender:AnyObject!)
{
if (segue.identifier == "thirdController")
{
var svc = segue!.destinationViewController as! thirdController
print("i set the loading thingy")
svc.toPass = colorLabelSelected.text
}
}
作为您的概念
例如
var toPass:String!
<强> ThirdViewController 强>
创建像
这样的全局变量addMouseWheelListener(new MouseWheelListener() {
@Override
public void mouseScrolled(MouseEvent g) {
if((g.stateMask & SWT.CONTROL) == SWT.CONTROL) {
performZoom(g.count);
}
}
});
有关教程参考,请参阅此link
答案 3 :(得分:0)
你必须创建数组并在第二和第三类中创建一个数组属性并在secondviewcontroller中传递颜色,在secondviewcontroller中添加属性数组中的标题并将其传递给thirdviewcontroller 您可以使用create property轻松管理。