如果我在 Swift 中对多个级别使用嵌套 类 或结构,是否会出现性能问题?
If I'm using nested classes or structs for several levels in Swift, are there going to be performance problems?
假设我想使用嵌套 类 或类似这样的结构对某些内容进行分类。
extension String
{
struct Localized
{
struct Item
{
struct Edit
{
struct Alert
{
struct Title
{
static var someTitle: String { return NSLocalizedString("...", comment: "...") }
}
struct Message
{
static var someMessage: String { return NSLocalizedString("...", comment: "...") }
}
}
}
static var someString: String { return NSLocalizedString("...", comment: "...") }
}
}
}
如果我有更多的深度,会不会有很多性能问题或者它只是使用了太多不必要的内存?
由于 Swift 的强类型,使用结构执行此类操作不会影响性能。编译器将能够解析存储的属性和函数的最终地址。 Non-final 类,没有全模块优化,仍然需要动态调度,会有性能问题。
假设我想使用嵌套 类 或类似这样的结构对某些内容进行分类。
extension String
{
struct Localized
{
struct Item
{
struct Edit
{
struct Alert
{
struct Title
{
static var someTitle: String { return NSLocalizedString("...", comment: "...") }
}
struct Message
{
static var someMessage: String { return NSLocalizedString("...", comment: "...") }
}
}
}
static var someString: String { return NSLocalizedString("...", comment: "...") }
}
}
}
如果我有更多的深度,会不会有很多性能问题或者它只是使用了太多不必要的内存?
由于 Swift 的强类型,使用结构执行此类操作不会影响性能。编译器将能够解析存储的属性和函数的最终地址。 Non-final 类,没有全模块优化,仍然需要动态调度,会有性能问题。