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

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,631评论 25 709
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,041评论 3 119
  • 命运与时间只能给予我们易碎的快乐和实在的患难,但它们无法进入你们的疆域。没有任何乌云可以遮阴你们的光明,以后的时间...
    youmyworld阅读 1,417评论 0 0
  • 是有多久了 没有写上几句窝心的话 是有多久了 没有直视自己的内心 是有多久了 没去好好的品读一本书 是有多久了 没...
    你的耳语阅读 1,579评论 0 2
  • 上世纪末,一桩灵异的凶杀案发生在中国的一座滨海小城。 <1> 案发第三天,凌晨一...
    花心小五阅读 3,480评论 2 2