0

在我的 iOS 应用程序中,有一种情况我希望用户确认他想要接收远程通知(如果他还没有),然后执行注册(使用 iOS 10 之前的 registerUserNotificationSettings 或 iOS 10 的 requestAuthorizationWithOptions / registerUserNotificationSettings +)。然后,模型会在请求更多数据时将设备令牌发送回我的服务器。

我正在尝试使用“干净”的 MVC 模式。当模型需要用户提供额外信息时,以下是否被认为是最佳实践?

  1. 该模型确定远程通知的条件已满足,并确定用户尚未确认需要远程通知。
  2. 模型调用视图控制器上的方法(作为委托)要求用户确认是否需要远程通知。
  3. 由于确认过程是异步发生的,因此视图控制器随后会使用结果调用模型上的方法。
  4. 如果用户确认,模型注册用户并处理结果。这将涉及模型和应用程序委托之间的交互,并且 iOS 可能会向用户显示自己的确认模式,这是可以的。

另一种方法是模型在步骤 2 中将完成处理程序传递给视图控制器,该处理程序被传递并最终在获得结果时由视图控制器执行。(在 iOS 9 之前使用 UIAlertView 有点棘手,但使用 iOS 9+ 的 UIAlertController 非常容易。)

感谢您的任何想法!

4

0 回答 0