swift UI专项训练9 添加数据

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

 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)
        }
    }

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





相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...