如何使用 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)

虽然didSetwillSet对于计数很有用,但设置了多少次方法,在这种情况下不需要它。同样在您的情况下,您不需要像这样为这些变量设置 get

var value : Int {
    get { return 10 }
}