Я хотел бы реализовать модуль журналирования в моем приложении с общей подписью как (сокращенно):
func log(msg: String, instance: Any) {}
МОЕ приложение состоит из нескольких структур, и я хотел бы иметь возможность активировать /деактивировать ведение журнала в рамках.Сказать структуру (связку) из класса довольно просто, как в:
let bundle = Bundle(for: SomeClass.self)
Так что я попытался сделать в своем журнале func ():
let instance: Any = SomeClass() // This is for the purpose of explanation
if let theClass = type(of: instance) {
let bundle = Bundle(for: theClass) // Doesn't work, because theClass is a metaType
}
Есть ли способ во время выполнения узнать, является ли переменная: Any экземпляром объекта и иметь для него AnyClass?