带有Swift属性,扩展名,枚举和泛型的备忘单。

在Swift中覆盖存储的属性:

快速存储的属性计算的属性有两种属性

储存财产

存储的属性是与结构或类的实例相关联的变量。 Swift现在通过使用letvar分别表示常量和可变属性,使属性声明更加简洁

计算财产

除了存储的属性外,类,结构和枚举还可以定义计算的属性 ,而实际上并不存储值。 相反,它们提供了一个getter和一个可选的setter,以间接检索和设置其他属性和值。

现在的概念是我们不能覆盖存储的属性

它将引发错误,因为如果我们真的想覆盖存储的属性,则无法覆盖它,那么我们需要使其成为计算属性。

  结论:如果要覆盖子类中的存储属性,则需要将其定义为计算属性。 

进行一些扩展,有助于获得UIStoryboard对象以用于Application中存在的多个情节提要

通常,我们在一个项目中的不同模块中会使用多个情节提要,所以通常我们通过其名称来获取情节提要。

并且我们在此情节提要中实例化了适当的UIViewController,并针对项目中不同的不同情节提要反复进行此操作。

因此,更好的方法是创建UIStoryboard的扩展,并定义所有不同的Storyboard,然后在无需编写太多代码的情况下将其使用在任何您想使用的地方。

用法:就像我们要创建故事板主对象一样,我们只需编写以下行

它可以节省我们的时间,还可以避免错误输入(错误的故事板名称等)

创建用于实例化UIViewController的通用方法

通常,当我们从一个屏幕导航到另一个屏幕时,我们实例化一个UIViewController并将其推入导航控制器。 在这种情况下,我们需要编写类似的重复代码,而只需稍加修改即可。

因此,我将创建UIViewController的扩展,以减少我们的开发时间并保持我们的代码质量。 它还将减少重复的代码。

UIStoryboard和UIViewController扩展的组合用法

  1. 如果我们要实例化Main Storyboard中定义的UIViewController。

使用Main.storyboard中存在的标识符实例化UIViewController

2 如果要实例化xyz故事板中定义的UIViewController。

它将实例化OtherStoryBoard.storybard中定义的UIViewController。

重要说明 :-这里使用扩展UIViewController是其强制使用扩展UIStoryboard。

结论:正如我们看到的那样,扩展的巧妙使用将减少我们的工作量并保持代码质量。

我想提一个名字,没有他,这个博客是不可能的。特别感谢阿曼提供的宝贵意见。

面临的问题将邮件发送到Ved.bhumca11@gmail.com。