- 从类型上看,在Swift中,Class是引用类型,Struct是值类型。值类型在传递和赋值的时候进行深复制,而引用类型只会产生一个指向对象的指针。
- 从内存区域上看,Class是在堆上进行存储和操作的,而Struct是在栈上进行存储和操作。相比于栈上的操作,堆上的操作更加复杂耗时。所以在Swift中,苹果官方推荐使用结构体,这样可以提高App允许的效率。
- Class的优点是可以继承(继承和多态),这样子类可以使用父类的属性和方法。可以用deinit来释放资源,可以被多次引用。
- Struct的优势是结构较小,适合赋值操作。相对于一个Class的实例被多次引用更加安全。无需担心内存循环引用问题线程冲突问题。
Class和Struct比较
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...