美文网首页
iOS实战【好书】之工厂方法

iOS实战【好书】之工厂方法

作者: xiongsirui | 来源:发表于2016-06-28 23:41 被阅读29次

    工厂方法:

    接受客户端的请求,通过请求负责创建相应的产品对象。
    抽象产品角色:是工厂模式所创建对象的父类或是拥有的接口。
    具体产品角色:工厂模式所创建的对象都是这个角色的实例。


    image.png

    由于该APP有很多界面的navigation上需要如上两个“确认”和“取消”按钮,如果每个界面都写代码会浪费大量时间也显得很累赘,故引入工厂方法:

    class GeneralFactory: NSObject {
            static func addTitleWithTile(target:UIViewController,title1:String="关闭",title2:String = "确认"){
            let btn1 = UIButton(frame: CGRectMake(10,20,40,20))
            btn1.setTitle(title1, forState: .Normal)
            btn1.contentHorizontalAlignment = .Left
            btn1.setTitleColor(MAIN_RED, forState: .Normal)
            btn1.titleLabel?.font = UIFont(name: MY_FONT, size: 14)
            target.view.addSubview(btn1)
      
            let btn2 = UIButton(frame: CGRectMake(SCREEN_WIDTH - 50,20,40,20))
            btn2.setTitle(title2, forState: .Normal)
            btn2.contentHorizontalAlignment = .Right
            btn2.setTitleColor(MAIN_RED, forState: .Normal)
            btn2.titleLabel?.font = UIFont(name: MY_FONT, size: 14)
            target.view.addSubview(btn2)
           }
    }
    

    在需要的界面调用方法addTitleWithTile即可,其中target表示该界面:

     GeneralFactory.addTitleWithTile(vc, title1: "关闭", title2: "发布")
    

    相关文章

      网友评论

          本文标题:iOS实战【好书】之工厂方法

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