如何使用 swift 实现数据模型? (java -> swift)
How to implement Data model using swift? (java -> swift)
在 Java 中模型如下所示:
public class Model {
private String nameLast = "";
private String nameFirst = "";
private String namePrefix = "";
private String nameSecond = "";
private String nameNick = "";
private String nameSuffix = "";
Model() {
}
public Model(String nameFirst, String nameSecond, String nameLast, String namePrefix, String nameSuffix, String nameNick) {
this.nameFirst = nameFirst;
this.nameSecond = nameSecond;
this.nameLast = nameLast;
this.namePrefix = namePrefix;
this.nameSuffix = nameSuffix;
this.nameNick = nameNick;
}
public String getNameLast() {
return nameLast;
}
public void setNameLast(String nameLast) {
this.nameLast = nameLast;
}
public String getNameFirst() {
return nameFirst;
}
public void setNameFirst(String nameFirst) {
this.nameFirst = nameFirst;
}
public String getNamePrefix() {
return namePrefix;
}
public void setNamePrefix(String namePrefix) {
this.namePrefix = namePrefix;
}
....
}
在 Swift 中没有访问控制 (private/public) 并且 setter/getters 仅适用于计算属性。
我应该如何在 swift 中实现它?
我应该使用结构吗?
也许我必须使用 willSet 和 didSet - 我需要你的帮助 ;)
您可以在 Swift 中让它变得非常简单。 Swift.
中有很多相似的部分
class Model : NSObject{
var nameFirst = ""
var nameSecond = ""
var nameLast = ""
init(nameFirst:String, nameSecond:String, nameLast:String){
self.nameFirst = nameFirst
self.nameSecond = nameSecond
self.nameLast = nameLast
}
}
然后,您可以简单地使用变量来设置和获取变量的值,而不是使用 get 或 set 方法:
var mod = Model(nameFirst: "hey", nameSecond: "what's", nameLast: "up")
println(mod.nameLast)
虽然didSet
和willSet
对于计数很有用,但设置了多少次方法,在这种情况下不需要它。同样在您的情况下,您不需要像这样为这些变量设置 get
:
var value : Int {
get { return 10 }
}
在 Java 中模型如下所示:
public class Model {
private String nameLast = "";
private String nameFirst = "";
private String namePrefix = "";
private String nameSecond = "";
private String nameNick = "";
private String nameSuffix = "";
Model() {
}
public Model(String nameFirst, String nameSecond, String nameLast, String namePrefix, String nameSuffix, String nameNick) {
this.nameFirst = nameFirst;
this.nameSecond = nameSecond;
this.nameLast = nameLast;
this.namePrefix = namePrefix;
this.nameSuffix = nameSuffix;
this.nameNick = nameNick;
}
public String getNameLast() {
return nameLast;
}
public void setNameLast(String nameLast) {
this.nameLast = nameLast;
}
public String getNameFirst() {
return nameFirst;
}
public void setNameFirst(String nameFirst) {
this.nameFirst = nameFirst;
}
public String getNamePrefix() {
return namePrefix;
}
public void setNamePrefix(String namePrefix) {
this.namePrefix = namePrefix;
}
....
}
在 Swift 中没有访问控制 (private/public) 并且 setter/getters 仅适用于计算属性。 我应该如何在 swift 中实现它? 我应该使用结构吗? 也许我必须使用 willSet 和 didSet - 我需要你的帮助 ;)
您可以在 Swift 中让它变得非常简单。 Swift.
中有很多相似的部分class Model : NSObject{
var nameFirst = ""
var nameSecond = ""
var nameLast = ""
init(nameFirst:String, nameSecond:String, nameLast:String){
self.nameFirst = nameFirst
self.nameSecond = nameSecond
self.nameLast = nameLast
}
}
然后,您可以简单地使用变量来设置和获取变量的值,而不是使用 get 或 set 方法:
var mod = Model(nameFirst: "hey", nameSecond: "what's", nameLast: "up")
println(mod.nameLast)
虽然didSet
和willSet
对于计数很有用,但设置了多少次方法,在这种情况下不需要它。同样在您的情况下,您不需要像这样为这些变量设置 get
:
var value : Int {
get { return 10 }
}