因为我们有面向对象的编程,所以我们可以使父类具有所有子类所需的所有功能。那么扩展的目的是什么?我在这个问题上有点困惑,请任何人帮助我。我们如何使用Extension?
-3
A
回答
2
扩展
添加功能,以您的类没有子,是在你没有必要你想扩展类的实现,它是一个框架或库
内的情况下,例如类非常有用扩展添加新的功能,以现有的类,结构, 枚举,或协议类型。这包括能够扩展您无法访问原始源代码 (称为追溯建模)的 类型。扩展名与Objective-C中的类别 类似。 (与Objective-C的类别,斯威夫特扩充功能 没有名字。)
扩展斯威夫特可以:
添加计算实例属性和计算类型的属性定义 实例方法和类方法提供了新的初始化定义 标定义并使用新的嵌套类型使现有类型 符合协议在Swift中,甚至可以将协议扩展为提供其要求的实现或添加其他符合类型可以利用的其他功能 。有关更多 的详细信息,请参阅协议扩展。
注意
扩展可以添加新的功能,以一个类型,但也不能 覆盖现有的功能。
扩展语法
声明的扩展与延伸关键字:
extension SomeType { // new functionality to add to SomeType goes here }
扩展可以扩展现有类型以使其采取一个或多个协议。为了 附加协议一致性,你写的协议名称为 你写出来的一类或结构相同的方式:
extension SomeType: SomeProtocol, AnotherProtocol { // implementation of protocol requirements goes here }
添加这种方式协议一致性在添加 协议一致性与扩展描述。
扩展可用于扩展现有泛型,如扩展泛型中所述的 。您还可以扩展一个通用的 类型以有条件地添加功能,如扩展 中的通用Where子句所述。
希望这有助于澄清你
+0
谢谢,这真的很有帮助 –
相关问题
- 1. 如何让我的应用程序使用AndEngine Phyiscs Box2D Extension?
- 2. 我们如何使用硒
- 3. 我们如何使用BigInt?
- 4. 我们如何使用Zend_Gdata
- 5. 我们如何使用JavaScript
- 6. 我们如何使用PHP
- 7. 我可以我们如何使用python
- 8. 我们应该如何改进我们对SVN的使用?
- 9. 我们如何确保我们被允许使用REQUEST_IGNORE_BATTERY_OPTIMIZATIONS权限
- 10. MagicalRecord(CoreData)+ Today Extension(iOS8)...他们会玩吗?
- 11. Arquillian Suite Extension - 我们是否应该在Suite
- 12. 我们如何使用visualsearch.js的输出?
- 13. 我们如何在C#上使用FileMode.Append?
- 14. 我们如何通过使用castor
- 15. 我们如何使用opencart事件?
- 16. 我们如何在SHCreateDirectoryEx()中使用SECURITY_ATTRIBUTES?
- 17. 我们如何使用AWS/S3?
- 18. 我们如何使用@ font-face in Less
- 19. 我们如何使用GEOLOQI for iphone sdk?
- 20. 我们如何使用硒的webdriver
- 21. 我们如何使用PHP/Drupal的
- 22. 我们如何在RoR中使用preg_match_all()
- 23. 我们如何使用javascript查询?
- 24. 我们如何使用FONT AWESOME by css
- 25. 我们如何使用EFPocoAdapter获得DynamicData?
- 26. 我们如何使用display:table-cell?
- 27. 我们如何在EditTextPreference中使用android:inputType?
- 28. 我们何时使用recyclerView.setHasFixedSize?
- 29. 我们如何使用我们的文件夹作为使用htaccess的子域?
- 30. 我们如何知道我们是仅使用WSS还是使用MOSS?
你会如何“使具有这些都需要所有子类的所有功能,父类”有,说'String'或'UIView'? – Hamish
我认为参考将有所帮助:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Extensions.html – Jay
重复,无题,低质量,找书等。 –