Fiori for iOS control系列博客简介
该系列博客将全面介绍Fiori for iOS控件。
它帮助您充分利用SAP提供的控件,使用swift语言开发iOS应用程序。
Fiori for iOS简介
Fiori for iOS控件概述
第2部分:使用Fiori的分步博客控件
为iOS开发设置Fiori开发环境
开始使用FUIFormCell控件及其子类
构建复杂的输入表单
使您的代码可重用(本博客)
小结
第3部分:使用Fiori为iOS控件实现Fiori平面图
第4部分:主题定制
在我以前的博客中,您可以使用fioriforios构建一个复杂的输入表单。完成之后,你可能会发现类越来越大,代码也不容易维护。
在这个博客中,我将尝试使这个类更具可重用性,然后你可以使用它作为构建复杂输入表单的模式。
在开始这个教程时,我假设你已经在我以前的博客中完成了这个项目,这将是本教程的起点它。
在我们开始修改我们的项目之前,我将解释如何使代码可重用的想法。
一个大类还是几个类?
随着你的班级越来越大,你可能想把你的班级分成几个班级。例如,您可以创建一个类来处理附件控件的回调。
但是将一个大类削减为几个类将使您的程序更加复杂。在swift中,有一个称为extension的概念,它可以帮助您将类拆分为多个文件。为了让我的代码更清楚,我会把我的五个字母分开mTableViewController.swift分为4个文件。
FioriFormTableViewController.swift是类的主要部分,我在这个文件中声明属性(你只能在这个文件中声明属性!)。我将声明属性,不仅保存图像的缩略图,云服务器价格,还保存一些配置数据,使我的程序可重用。与窗体配置相关的方法也在该文件中。
FioriFormTableViewController_菲尔兹·斯威夫特包含每个字段的方法,我将为每个字段创建方法。这可以避免您将单元格代码放在长的"switch…case"语句中。
FioriFormTableViewController_表格视图.swift包含将数据馈送到表视图的委托方法。
FioriFormTableViewControler_附件.swift包含附件控件的委托方法,因为这个控件比其他控件更复杂。
优化控件的寄存器
在这个例子中,我们已经在viewDidLoad方法中逐个注册了控件,我要优化代码的第一件事是创建一个字典变量来存储我使用的控件,并通过循环字典变量来初始化它们。
优化返回单元格的代码
在本例中,我们使用方法
tableView(utableview:UITableView,numberOfRowsInSection:Int)创建单元格
这意味着您应该根据行号生成单元格,并硬编码控件的重用标识符。这使得你的代码不容易维护。
所以我需要创建一些字典对象来存储:
1.在哪个节和行中,应该显示对象的哪个属性。
2.哪个控件用来显示特定的属性。
打开我以前博客的项目。或下载模板文件。
为您的类创建扩展名
右键单击您的项目文件夹,大数据和云计算,淘客大玩家,然后在"为您的新文件选择模板"对话框的上下文菜单
中选择"新建文件",选择Swift文件,点击下一步
输入文件名:"FioriFormTableViewController"_菲尔兹·斯威夫特"然后单击"创建
对FioriFormTableViewController重复前面的步骤_表格视图.swift和FioriformTableViewController_附件.swift.
项目的最终结构应如下图所示:
打开FioriFormTableViewController_菲尔兹·斯威夫特,导入SAPFiori并为类FioriFormTableViewController创建扩展
对FioriFormTableViewController执行相同的操作_表格视图.swift和FioriformTableViewController_附件.swift.
修改代码
1.设置属性键以避免属性名的硬代码
在本例中,我们需要存储每个属性的信息,返利购,所以我们需要使用属性的名称。为了避免硬代码,我们需要为每个属性创建常量。
Open个人.swift并创建一个静态结构来存储属性名
然后您可以通过键入person.propertyKeys.xxxxx公司
2.重构FioriFor中寄存器控件
的代码mTableViewController.swift, 创建一个名为usedControls的字典常量,就在缩略图声明的下方
字典的键是string,控件的重用标识符,is的值是类类型。
将方法viewDidLoad复制到文件FioriFormTableViewController_表格视图.swift
并通过查字典更改代码以注册控件。
3.为每个单元格创建方法。
打开FioriFormTableViewController_菲尔兹·斯威夫特
为每个单元格创建方法,如下所示。
每个方法接受UITableViewCell变量,将其转换为特定类型,并像以前一样设置属性和回调函数。
这次我们为每个字段编写方法,使您的代码更具结构,更易于维护。