私はこれに矮小化されたものを扱っています:
func isAnyObject<T>(someObject: T) {
if let object = someObject as? AnyObject {
// do something
} else {
// do something else
}
}
これにより、コンパイラの警告が表示されます。
- 「T」から「AnyObject」への条件付きキャストは常に成功する
- オプションのチェックで使用されるタイプ 'AnyObject' のオプションではない式
キャストが常に成功する理由は理解できますが、それを修正するために何をすればよいかわかりません。2行目をに変更しようとしまし
if let object = foo as AnyObject?
たが、構造体を関数に渡すと、まだ「if」ブロックに入ります。ここで何が欠けていますか?