我正在编写一个应用程序来测试通过tcp传输发送到某些连接硬件的一些RPC。大约有35种不同的RPC具有不同的输入。
用户选择他们想要发送的消息之一并按下视图控制器,询问特定于该RPC的输入。 RPC的输入可以根据用户之前在会话期间执行的操作而更改。使用的一些常见UI对象是文本,滑块和拾取器。
我的问题是关于代码组织。现在我可以想到实施这个应用程序的两个广泛策略。
首先是使用故事板并为每条消息创建一个自定义视图控制器。这可能是最简单,最容易理解,但最容易实现的。
第二种是创建一个自定义视图控制器,它响应布局输入字段和构建RPC的消息。这需要一个模型支持每种不同类型的RPC和一些长例语句来区分不同类型。
Objective-C是否有一个共同的设计模式来处理这种情况?
答案 0 :(得分:1)
处理此问题的一个好方法是使用tableview。为每种可能的输入类型编写一个单元格(这些类型可能在代码中进行布局或由NIB支持)。使用表视图注册所有单元格类型,并根据-tableView:cellForRowAtIndexPath:
中的当前RPC返回所需的单元格类型。
我可能只生成一个字符串列表,用于描述视图首次加载新RPC时的输入,并引用该列表来确定给定indexPath需要哪个单元格。