如语言规范中所述,可以使用扩展将扩展添加到现有的Swift对象类型。
结果,可以创建扩展,例如:
extension String {
var utf8data:NSData {
return self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)!
}
}
但是,包含此类扩展名的Swift源文件的最佳命名做法是什么?
过去,惯例是extendedtype+categoryname.m
用于Objective-C指南中讨论的Objective-C类型。但是Swift示例没有类别名称,并且调用它String.swift
似乎不合适。
所以问题是:给定以上String
扩展名,swift源文件应调用什么?
ClassName+ExtensionName
格式,而且我认为没有太多人在使用。此外,我发现笨拙地代替仅一起定义类和扩展,或者给文件起一个更好的名称FooAbleTypes
,例如在聚合中定义实例。
Extensions.swift
。这样,您就不会失去对它们的了解,而新加入代码库的人将立即注意到它们。而且我更希望将一次性扩展名保留在需要它们的文件