迅捷代码段#14 — UIAlertControllerStyle
您可以在这里找到其要点!
UIAlertControllerStyle
第一个扩展位于UIAlertControllerStyle
,它返回特定样式的UIAlertController
实例,即– alert
或actionSheet
。 所以现在我可以做这样的事情,
让alertController = UIAlertControllerStyle
。警报
.controller(title :, message :, actions :)
因此,我现在可以要求一个特定样式的控制器(而不是在UIAlertController
的构造函数中传递样式类型) (如果您已阅读以前的摘录或博客文章,现在您可能已经知道我喜欢面向扩展的apis –更加简洁易读)。
串
现在,任何警报还将具有与之关联的一些操作。 因此,下一个扩展名是String
因为每个动作都将具有标题,并且它返回UIAlertAction
的实例,
让dismissAction =“ Dismiss” .alertAction()
let retryAction =“ Retry” .alertAction {/ *中的_重试逻辑* /}
因此,我现在可以要求在String
上使用UIAlertAction
,而不是将标题传递给UIAlertAction
的构造函数。
就是这样,现在让我们看一下整个api,
无需创建额外的类,我们已经能够编写如此短的api来构造任何类型的UIAlertController
。 您还可以使用相同的api制作actionSheet。
PS –为了简化起见,我使用了String
,但是如果您不喜欢它,则还可以为不同的动作创建一个Enum
并将其扩展为具有类似的行为!
如果您对 Swift-Snippets 的诞生感到疑惑, 或者想查看更多此类片段,可以在 这里 找到它们 😊