ios - 使用相似的输入字段实现许多相似的 View

标签 ios objective-c rpc organization

我正在编写一个应用程序,用于测试通过 tcp 传输发送到某些已连接硬件的一些 RPC。大约有 35 个具有不同输入的不同 RPC。

用户选择他们想要发送的消息之一,然后推送一个 View Controller ,请求特定于该 RPC 的输入。 RPC 的输入可以根据用户之前在 session 期间所做的事情而改变。一些常用的 UI 对象是文本、 slider 和选择器。

我的问题是关于代码组织的。现在,我可以想到实现此应用程序的两大策略。

第一种是使用 Storyboard并为每条消息创建一个自定义 View Controller 。这可能是最简单、最容易理解但最困惑的实现。

第二个是创建一个自定义 View Controller ,它响应消息以布局输入字段并构建 RPC。这需要一个支持每种不同类型 RPC 的模型和一些长案例语句来区分不同类型。

Objective-C 是否有处理此类情况的通用设计模式?

最佳答案

处理此问题的一种好方法是使用 TableView 。为每种可能的输入类型编写一个单元格(这些可能会在代码中进行布局或由 NIB 支持)。向 TableView 注册所有单元格类型,并根据当前 RPC 从 -tableView:cellForRowAtIndexPath: 返回您需要的单元格类型。

当 View 第一次加载新的 RPC 时,我可能只是生成一个描述输入的字符串列表,并引用它来确定给定的 indexPath 需要哪个单元格。

关于ios - 使用相似的输入字段实现许多相似的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22616775/

相关文章:

java - PHP 客户端如何通过 Sockets/RPC 与 Java 程序通信,在不刷新页面的情况下检索新结果?

javascript - 如何计算 RSK 上代币的总交易量?

java - 在 Tomcat 中部署 GWT RPC 应用程序

ios - 如何在核心数据中持久化 NSMutableArray?

ios - 创建一个可以触发两个 Action 并更改其标题的按钮?

html - 如何允许缩放 UIWebView(什么都试过了)

ios - 这个队列属性(iOS 音频队列)是什么意思?

ios - 有没有办法从 Apple App Store 获取我的应用程序的更改日志 ("What' s new")?

iOS sqlite 在不调用 setValue 的情况下存储空值

ios - 如何删除正在等待上传的应用程序?