From 8ad716996ff172d82abe49f1936d1a1d528f0fad Mon Sep 17 00:00:00 2001 From: "binpeng.liu" Date: Wed, 13 Sep 2023 18:22:07 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E5=A6=82=E4=BD=95=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E6=A0=A1=E9=AA=8C=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Chapter1 - iOS/1.110.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Chapter1 - iOS/1.110.md b/Chapter1 - iOS/1.110.md index c734e76..a7ea339 100644 --- a/Chapter1 - iOS/1.110.md +++ b/Chapter1 - iOS/1.110.md @@ -256,6 +256,16 @@ let validateType = [OrderSubmitValidator generateTypeWithParams:params]; [OrderSubmitValidator validateWith:validateType]; ``` +`validateWith` 方法内部根据 validateType 去组装 Map 的 key,然后从 Map 中取出具体规则组合,然后依次迭代遍历执行 + +``` +let rulesMap = { + isVIP && isCharged : [a-b-c-d], + isVIP && !isCharged: [a-b-d-c], + !isVIP: [a-c-d-b], +} +``` + 优点: 1. 解决了现在的错误弹窗的隐含逻辑,后续人接手,弹窗优先级清晰可见,提高可维护性,减少出错概率