我想知道的区别NSObject和struct..Following例如将解释这两种情况下
在 struct
struct UserDetails{
var userName:String
var userID:String
var userAge:String
func userDescription()->String{
return "name " + userName + "age " + userAge
}
}
Run Code Online (Sandbox Code Playgroud)
在NSObject课堂上
class UserDetails: NSObject {
var userName:String?
var userID:String?
var userAge:String?
func userDescription()->String{
return "name " + userName! + "age " + userAge!
}
}
Run Code Online (Sandbox Code Playgroud)
你能告诉我在哪里必须NSObject上课,我必须在哪里使用struct..?
1)结构通过值传递,类实例通过引用传递2)类可以是子类,结构不能.
Class是否是NSObject的子类(大多数)是无关紧要的.你也可以说:
class UserDetails {
var userName:String?
var userID:String?
var userAge:String?
func userDescription()->String{
return "name " + userName! + "age " + userAge!
}
}
Run Code Online (Sandbox Code Playgroud)
Swift 中的类和结构比许多语言中的更接近。两者都可以有属性、方法、初始值设定项、下标,可以符合协议,并且可以扩展。但是,只有类可以利用继承并使用析构器,并且由于类是通过引用使用的,因此您可以对特定实例有多个引用。
结构在整个 Swift 中都被使用——数组、字典、所有可选的东西等等都是建立在struct类型上的,所以性能应该非常高。您可以struct在不需要类提供的继承或多个引用时使用。