我想知道NSObject和struct之间的区别.以下示例将解释这两种情况
指导
struct UserDetails{ var userName:String var userID:String var userAge:String func userDescription()->String{ return "name " + userName + "age " + userAge } }
在NSObject类中
class UserDetails: NSObject { var userName:String? var userID:String? var userAge:String? func userDescription()->String{ return "name " + userName! + "age " + userAge! } }
你能告诉我在哪里必须使用NSObject类,我必须使用struct ..?
解决方法
Swift中的类和结构比许多语言中的类更接近.两者都可以具有属性,方法,初始化器,下标,可以符合协议,并且可以扩展.但是,只有类可以利用继承并使用deinitializers,并且因为类是通过引用使用的,所以可以对特定实例具有多个引用.
整个Swift中使用了结构 – 数组,字典,一切都是可选的,而且更多是基于结构类型构建的,因此性能应该非常高.只要不需要继承或类提供的多个引用,就可以使用struct.