gpt4 book ai didi

ios - ios App中全局模型的使用

转载 作者:行者123 更新时间:2023-11-29 04:11:21 24 4
gpt4 key购买 nike

我正在设计一个管理热水箱的应用程序。应用程序对服务进行 RESTful API 调用;

  1. 获取水箱内各层的温度分布。
  2. 允许用户使用计时器(例如浸入式计时器)自定义控件来设置打开/关闭加热元件的时间。

因此,作为第一次剪辑,我在导航 Controller 中有两个选项卡;1. 一张图形,显示水箱的图片,刻度显示温度。2. 自定义控件,如商业家用定时器,具有两个同心环,允许用户指向并拖动 30 分钟槽来设置加热元件的时间。

我的两个自定义 View 都运行良好。我不敢说我​​陷入了一个非常简单的观点 - 即使在阅读了所有 Apple 的 ios 文档之后,并且希望得到一些帮助。

数据服务器(运行嵌入式 Linux 的 BeagleBone)实现 2 组 RESTful API,一组处理水箱温度,另一组用于读取和更新计时器。

  1. 最好使用 View Controller 启动应用程序,该 View Controller 实例化模型,发出 API,并显示“正在加载...”,然后填充单个应用程序范围的数据模型。

  2. 让每个 View Controller (坦克的图像和计时器 Controller )填充自己的(单独的)模型?

  3. 对我来说,最大的问题是(尽管在 Smalltalk、C++、Java 领域工作了多年)推荐的方法是什么;

    • 实例化 View Controller
    • 如果模型尚未加载,则加载/显示带有“busy”微调器的 View

我的应用程序对于 GCD 或 KVO 来说还不够复杂。这基本上是“显示 View 、调用 Web 服务来读取数据”、“修改数据”、“调用 Web 服务来替换数据”

基本上,我认为我的问题是,当屏幕上出现 View 时,确定 Controller 具有模型或具有仍在加载数据的模型的最佳实践是什么?

抱歉问了这么长的问题。

最佳答案

您提出了一个非常好的问题,涉及移动应用程序中非常常见的任务。我的建议是

  1. 由于您的两个选项卡确实没有公共(public)数据,因此问题简单地归结为“如何使用远程数据初始化 View Controller ”。

  2. 如果用户在没有远程数据的情况下无法使用您的应用,

    • 简单地在[vc viewDidLoad]中显示一个加载 View ,并开始从服务器异步获取数据;你的 vc 应该实现 NSURLConnectionDelegate 来监听回调
    • 从服务器成功获取数据后,关闭加载 View ,并将数据呈现给用户
    • 如果数据获取失败(由于网络故障或服务器停机),向用户显示警报 View ,并重试数据获取;如果多次获取失败,请告诉用户稍后重试
    • 可以让加载 View 更加美观,提供更好的用户体验;请注意,加载 View 应覆盖所有按钮/控件,以便用户在数据获取期间不会弄乱您的应用状态
  3. 如果用户可以在没有远程数据的情况下使用您的应用程序,那就是另一回事了。在这种情况下,您不应该使用加载 View ,而应该在后台默默地获取数据。由于这似乎不是您的情况,因此我不会通过此案例使答案复杂化。

关于ios - ios App中全局模型的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14369040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com