我的模态课程:
class eventsModelClass: NSObject {
var eveName: String = ""
var eveVenue: String = ""
override init() {
}
init(name : String) {
self.eveName = name
}
init(venue : String) {
self.eveVenue = venue
}
}
我的MainViewController:
class MainVC: UIViewController {
var MyClass = eventsModelClass()
MyClass.eveName = "Dinner"
MyClass.eveVenue = "Hotel"
}
在这个主要课程中,如果我直接加载eveName
和eveVenue
,它工作正常。但我正在使用Parse细节来加载100个事件和场地。所以有机会可能没有价值。所以我想知道如何告诉MyClass这个值是nil,所以保持为空?
答案 0 :(得分:2)
所以我想知道如何告诉MyClass这个值是nil,所以保持为空?
你设置的方式,你做不到。 String变量不能是nil
。
但是,如果您将属性声明为String?
而不是String
- 可选包装字符串 - 现在它们可以是nil
。这是Optionals的主要目的之一。关于这一点的一个好处是,这样的属性实际上默认为nil
;与Swift中的任何其他类型的值不同,如果您没有明确地初始化它,它会自动初始化。
但请记住,现在无论何时处理此属性,您都需要安全地打开它。如果不打开它,就不能使用Optional,而展开nil
会导致程序崩溃。