美文网首页
封装系统弹框及元组作为函数参数的使用

封装系统弹框及元组作为函数参数的使用

作者: 本帅不良 | 来源:发表于2018-08-17 11:03 被阅读26次

    声明:作者将系统弹框进行了封装,但实际用处不大,它并没有很好的简化代码。
    先上代码,以下是我对系统弹框的封装

    import UIKit
    
    class ToolManager: NSObject {
        
        
        static let shareInstance : ToolManager = ToolManager()
    
    
        /// - Parameters:
        ///   - viewController: 当前视图控制器
        ///   - title: 弹框标题
        ///   - message: 弹框内容
        ///   - style: 弹框样式
        ///   - action1: 操作1元组(操作名,操作回调)
        ///   - action2: 操作2元组(操作名,操作回调)
        func showAlert(viewController:UIViewController,
                       title:String?,message:String?,
                       style:UIAlertControllerStyle,
                       action1: (_:String,_:(UIAlertAction) -> Void)?,
                       action2: (_:String,_:(UIAlertAction) -> Void)?) {
            let ac = UIAlertController.init(title: title, message: message, preferredStyle: style)
            if action1 != nil {
                ac.addAction(UIAlertAction.init(title:action1?.0 , style: UIAlertActionStyle.default, handler: action1?.1))
            }
            if action2 != nil {
                ac.addAction(UIAlertAction.init(title: action2?.0, style: UIAlertActionStyle.default, handler: action2?.1))
            }
            viewController.present(ac, animated: true, completion: nil)
        }
    
    }
    

    封装中,我使用了元组将操作名与操作回调整合在一起了,按理说应该很完美!但实际使用起来却不尽如人意

    如下图,一切的赋值都还好 1.png 当我对action进行赋值时,一敲回车,变成这样了!说好的元组呢? 2.png 没办法,只能手动添加了括弧、操作名。。最坑爹的是第二个元组,一敲回车,变成这样了!整个函数都变了样 3.png 只能将刚手动修改元组1复制过来。。 5.png 粘贴上去。。 6.png 修改参数,搞定。。 7.png

    这一系列的操作下来,封装的意义何在?还不如直接用系统的弹框。。

    相关文章

      网友评论

          本文标题:封装系统弹框及元组作为函数参数的使用

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