asとis
Swift
as, is
as! は強制的に unwrap
as? は optional で
as は String -> NSString などキャストが成功するもの
swift
if obj is Person {
let p = obj as! Person
..
}
を、このように書くことを optional binding という。 ↓
swift
if let p = obj as ? Person {
...
}
ここの obj は使わないので変な感じ