This is from the document, Failover Initializers for Classes section :
class Product {
let name: String!
init?(name: String) {
self.name = name
if name.isEmpty { return nil }
}
}
if let bowTie = Product(name: "") {
print("The product name is \(bowTie.name)")
}
It is described as:
name Product (String!). , , nil, . nil , Product, . , name .
:
, name .
. , return nil, String ( ), String? ().
, , . init.
, - , ? , - ? , , , . :
class Product {
var name: String!
init?(name: String) {
if name.isEmpty { return nil }
self.name = name
}
}
, name.