美文网首页
模拟列表数据(demo讲解)

模拟列表数据(demo讲解)

作者: 下班不写程序 | 来源:发表于2019-10-08 19:49 被阅读0次

    1. 知识点

    demo地址

    1.1 闭包作为参数
    1.2 解包的练习
    1.3 当使用xib进行界面跳转的知识点(segue)
    1.4 didSet方法的使用
    1.5 自定义模型类中@objcMembers/@objc关键字的使用
    1.6 闭包作为属性逆向传值
    1.7 xib/sb 创建的子控件, 在外界进行赋值时, 会造成崩溃的问题

    2. 上面的知识点(除segue)在demo中都有详细的注释, 接下来就简单介绍下segue:

    2.1 一般情况下, 只有在使用 Storyboard进行页面间跳转才会使用到segue.
    2.2 先要在storyboard中设置segue的identifier, 然后才能够使用.
    2.3 在UIKit框架下找到UIStoryboardSegue类, 可以了解到它的基本属性:

    // 标示便于在storyboard中找到
    open var identifier: String? { get }
    // 源控制器
    open var source: UIViewController { get }
    // 目标控制器
    open var destination: UIViewController { get }
    

    2.4 当使用segue推出下一个界面, 一般加载按钮的点击事件中调用:

        @IBAction func nextClick(sender: AnyObject) {
            
            self.performSegue(withIdentifier: "to2Vc", sender: self);
        }
    

    2.5 在跳转到下一个界面前做准备时调用,一般可以传递一些参数:

        override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        
            // 通过segue.destination来获取目标控制器
        }
    

    2.6 在使用performSegueWithIdentifier(sender)方法的时候,sender可以设置为我们想传的任意对象,在prepareForSegue(sender)方法中将sender传到想传到的view controller。

    2.7 总结: 两种方法在swift语法使用如下:

        // prepare 主要用于传值
        override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
            
            super.prepare(for: segue, sender: sender)
            if segue.identifier == "to2Vc"{
                var view2: ViewController = segue.destinationViewController as ViewController
                view2.strTtile = "要传递的值"
            }
        }
        
        // performSegue 传递事件
        @IBAction func nextClick(sender: AnyObject) {
            
            self.performSegue(withIdentifier: "to2Vc", sender: self);
        }
    

    相关文章

      网友评论

          本文标题:模拟列表数据(demo讲解)

          本文链接:https://www.haomeiwen.com/subject/bhlipctx.html