你好,我是 IOS 和 oop 编程的新手,所以我想知道执行此操作的最佳方法或标准方法是什么,我将对此进行描述。
我正在声明一个像这样的模型类
class Trip: NSObject {
var tripTitle: String
var tripSummary: String
var fee: Int
var departureCountry: String
init(userName: String,tripTitle: String, tripSummary: String,fee: Int, departureCountry: String) {
self.tripTitle = tripTitle
self.tripSummary = tripSummary
self.fee = fee
self.departureCountry = departureCountry
}
}
在 Controller 类中,我首先设置这些变量的值,然后获取从类对象设置的值。现在我遇到一种情况,我只想设置这些类的几个变量而不是全部。因此,每当我想设置几个变量时,我都必须在类对象的参数中发送空值。所以我想知道如何定义自己的构造函数,或者是否也可以在没有构造函数的情况下执行此操作。
我在 google 上做了一些研究,并了解到计算属性
getter setter
。但它表示,只有当您有机会希望返回经过一些修改的结果时,我们才能使用这些。所以我想知道实现这一目标的最佳方法或标准方法是什么
最佳答案
您可以通过在 init
方法中提供默认值来实现此目的
class Trip: NSObject {
var userName: String
var tripTitle: String
var tripSummary: String
var fee: Int
var departureCountry: String
init(userName: String = "", tripTitle: String = "" , tripSummary: String = "" , fee: Int = 0, departureCountry: String = "USA") {
self.userName = userName
self.tripTitle = tripTitle
self.tripSummary = tripSummary
self.fee = fee
self.departureCountry = departureCountry
}
}
现在你可以这样调用初始化器
let trip = Trip(userName:"John", fee: 12)
userName
设置为 John,fee
设置为 12,所有其他属性设置为默认值
或者您在声明行中分配默认值,那么您甚至不需要初始值设定项
class Trip: NSObject {
var userName = ""
var tripTitle = ""
var tripSummary = ""
var fee = 0
var departureCountry = "USA"
}
let trip = Trip()
trip.userName = "John"
trip.fee = 12
您可以对选项执行相同的操作。
关于ios - getter setter 模型类 Oop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35293831/