я не уверен, что вы подразумеваете под «номинальной стоимости». Вы можете проверить, чтобы увидеть, если объект является экземпляром класса, получив это MirrorType
с помощью reflect
и проверки для MirrorType
«s objectIdentifier
собственности, как это:
struct TestStruct { }
class TestClass { }
let testStruct = TestStruct()
let testClass = TestClass()
if let x = reflect(testStruct).objectIdentifier {
println("I am a class...")
} else {
println("I am not a class...") // prints "I am not a class..."
}
if let x = reflect(testClass).objectIdentifier {
println("I am a class...") // prints "I am a class..."
} else {
println("I am not a class...")
}
Этот ответ может быть устаревшей с предстоящим выпуском Swift 1.2 (у меня нет новой бета-версии xCode, поэтому я не могу сказать наверняка), который, как я понимаю, имеет лучшую объектную интроспекцию, но это делает трюк.