当前位置: 首页 > 面试题库 >

如何为类别创建swift类?

杨成礼
2023-03-14
问题内容

我想创建我现有的swift类的类别,但是IDE中没有选择这样做的选项。

知道在快速项目中是否存在类别?还是如何在Swift项目中实现类似的功能?


问题答案:

在Swift中,您可以用来Extensions向现有的类,结构和枚举类型添加新功能。

它们在一些方面与Objective-C类别有所不同,主要是:

  • 他们没有名字
  • 您不需要显式导入扩展。如果定义扩展以将新功能添加到现有类型,则新功能将在该类型的所有现有实例上可用,即使它们是在定义扩展之前创建的。
  • 如上所述,它们不仅适用于类,而且适用于其他类型。

就目前而言,扩展程序可以:

  • 添加计算的属性和计算的静态属性
  • 定义实例方法和类型方法
  • 提供新的初始化器
  • 定义下标
  • 定义和使用新的嵌套类型
  • 使现有类型符合协议

声明扩展的基本语法如下:

extension SomeType {
    // new functionality to add to SomeType goes here
}

有关如何在Swift中使用扩展的更多信息,请查阅Apple的文档。



 类似资料:
  • 问题内容: 在目标c中,我可以创建一个类数组并在方法中使用它 但是,swift没有“类”功能。返回类的元类型会导致错误 最后一行导致“致命错误:数组元素无法桥接到Objective-C” 如何在Swift中创建类数组? 问题答案: 显然,此问题已在Beta 3中修复,因此不再需要解决方法 我发现了一个纯粹的Swift hack: 先前的答案 我无法在Swift中以任何方式获取实例。似乎无法直接从转

  • 我有以下代码: 我将添加更多类似的类。与其单独拼出所有这些类,我想学习如何创建一个可以从简单的数据结构创建这些类的工厂。 我该怎么做?我阅读了Metaobject协议文档,但根据文档页面顶部和中间的示例,我不知道如何动态地为我的类指定不同的名称。 我试过: 但最后一行只是抛出了一个错误:

  • 我需要在Swift中创建一个singleton类。谁能帮我查一下密码吗?我已经知道,单例类在创建泛型代码方面非常有用。

  • 在本章中,我们将研究如何在Drupal中Create Categories 。 分类可以被视为类别或标签。 Drupal分类法由词汇表和术语构成。 词汇表是一组术语,术语只是类别的另一个词。 以下是在Drupal中创建类别的简单步骤。 Step 1 - 转到Structure ,然后单击类别中的分类,如以下屏幕所示。 Step 2 - 单击Add vocabulary链接。 Step 3 - 输入

  • 从继续https://stackoverflow.com/a/51132333/936293,为什么以下操作不起作用? 最后一行导致编译器错误: “{email:string;}”类型的参数不可分配给“MemberModel”类型的参数。键入“{email:string;}”不可分配给类型“Document”。类型“{email:string;}”中缺少属性“increment”。 < code

  • 通过大量的试验和错误,我已经在我的沙盒中创建了功能触发器。我的问题是,我现在想把它应用到我的实时组织中,但我似乎无法理解整个顶点类的事情。 如何创建类? 我的触发器背后的想法是,当保存opportunity记录时,soql查询将查看在“类别”字段中选择的选取列表值,并找到具有匹配名称的活动供应商或成员服务帐户类型,并带出其salesforce id。将该sfid拖到“我的供应商名称查找”字段中,将