Я хочу передать объект и тип в метод, и узнать, что объект имеет переданный тип. Я думаю, что это работает для AnyObject. Но любой может быть также Strcuts, струнные, парный ..Выясните, существует ли какой-либо неопределенный тип
Мое решение с AnyObject выглядит следующим образом:
class AClass {
}
class BClass {
}
class TypeCheck {
var type : AnyObject.Type;
init(type: AnyObject.Type) {
self.type = type;
}
func isOfType(object: AnyObject) -> Bool {
return self.type === object.dynamicType.self ? true : false;
}
}
var typeCheck = TypeCheck(type: AClass.self);
var a = AClass();
var b = BClass();
println("Object \(a) is of checked Class: \(typeCheck.isOfType(a))");//true
println("Object \(b) is of checked Class: \(typeCheck.isOfType(b))");//false
Как, как в этом примере с TypeCheck.type я должен хранить тип я хочу, чтобы проверить против. Есть ли решение для этого? Все, что я нашел, это решения с определенными типами или только для объектов.
Ну, что, кажется, работает с типами, которые не являются объектами, которые отлично. Я должен признать, что мне нужно окутать голову, как это работает. Как бы это выглядело, если бы мы передали как тип, так и объект/значение в качестве аргумента? Думаю, это может помочь мне понять логику или это невозможно? Я специально падаю на .. – Alex