Я надеюсь получить конкретный экземпляр, когда использую свой статический метод.Например:
class Food: NSObject {
var name: String
class func initFruit() -> Food? {
let fruitName = NSStringFromClass(self).components(separatedBy: ".").last! as String
if "Apple" == fruitName {
return Apple(name: fruitName)
} else if "Orange" == fruitName {
return Orange(name: fruitName)
}
return nil
}
init(name: String) {
self.name = name
}
}
class Apple: Food {
}
class Orange: Food {
}
Когда я создаю экземпляр Apple
с помощью метода:
let apple = Apple.initFruit() as? Apple
Как получить конкретный экземпляр Apple вместо использования as? Apple
?.Интересно, как изменить метод:
static func initFruit() -> Food?