swift UI专项训练9 添加数据

来源:互联网 发布:java 生成自己的jar包 编辑:程序博客网 时间:2024/05/18 09:16

  今天我们来实现新增数据的功能。在新增餐馆的控制器中初始化一个类:

 var restaurant = Restaurant()

接着创建关联,按住control键选择done按钮拖拽到控制器代码中:


会自动生成如下代码:

@IBOutlet weak var doneButton: UIBarButtonItem!

同理把文本框也拖过去。回到控制器中有一个方法已经为我们准备好了,现在我们取消它的注释,然后增加代码,如下:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {        // Get the new view controller using segue.destinationViewController.        // Pass the selected object to the new view controller.                if sender as NSObject == doneButton {            if(!textField.text.isEmpty){            restaurant.name = textField.text            }        }    }

判断是不是点击了完成按钮,如果是,把文本框中的内容保存到实例中。回想我们之前在另一个场景设置的反向过渡还没有使用,现在在其中增加代码如下:

 @IBAction func unwindToList(segue:UIStoryboardSegue){    let source = segue.sourceViewController as AddRestaurantViewController       let r1 = source.restaurant        if r1.name != "" {        restaurantList.append(r1)        }    }

设置源头是新增餐馆这个场景,然后我们把源头中的实例取出,非空的话添加到列表中。现在来测试一下是否成功了,添加一个新餐馆,然后再把它删除。






2 0