して扱う際のポイントです。2種類定義されていて、期待したのと違う方が呼び出されているからです。戻り値の型と判定されます。それでコンパイルエラーになるわけですね。AnyObject?のどちらかでアクセスする必要があるわけです。入っていると実行時エラーになります。型になってしまいます。インターフェースと相談して、どちらの型で処理するか決めるといいんじゃないかと思います。区別なく定義することができるようになりました。なり、配列の代入はすべてコピーで行われるようになっています。型!で、ハマったのが次のようなコードです。この型で定義した配列には、値の追加や変更ができなくなっています。扱いたかったプロパティなのに、変更できないという問題にぶち当たったわけです。対応としては、一旦変数で受けて、変更後に元に戻すっていうので何とかなりますが、コンパイラの方でなんとかならんもんですかね。Web系の方が強いですがスマホアプリもできます。Webサービス開発やスマホアプリ開発案件あればお声がけください。