【Error】Cannot override ‘strong’ property with ‘weak’ property, with a stored property ‘view’

【Error】Cannot override ‘strong’ property with ‘weak’ property, with a stored property ‘view’

エラー解消方法の備忘録_φ(・_・ )

発生したエラー

Storyboardから接続したviewの名前をviewにしたら以下のエラーが出ました。

・Cannot override ‘strong’ property with ‘weak’ property

・Cannot override with a stored property ‘view’

・Getter for ‘view’ with Objective-C selector ‘view’ conflicts with getter for ‘view’ from superclass ‘UIViewController’ with the same Objective-C selector

・Setter for ‘view’ with Objective-C selector ‘setView:’ conflicts with setter for ‘view’ from superclass ‘UIViewController’ with the same Objective-C selector

翻訳

・「strong」プロパティを「weak」プロパティでオーバーライドできない。

・ストアドプロパティ「view」で上書き不可

・Objective-C のセレクタ ‘view’ を持つ ‘view’ のゲッターと、 同じ Objective-C のセレクタを持つスーパークラス ‘UIViewController’ の ‘view’ のゲッターとが競合しています。

・Objective-C のセレクタを持つ ‘view’ のセッター ‘setView:’ は、 同じ Objective-C のセレクタを持つスーパークラス ‘UIViewController’ の ‘view’ のセッターと衝突します。

原因

今回自分が命名した「view」と
アップル側で使用している「view」という変数名と被っていることが原因でした。

変数名を変更すればOKです!

解決手順

・変数を右クリック > Refactor > Rename

Attention

Refactorから名前を変更しないと、
接続しているStoryboard上での名前等との整合性が取れなくなり、エラーになります!

参考

https://qiita.com/ashdik/items/dc9108f6a819abbb4f82
https://stackoverflow.com/questions/24378110/swift-making-iboutlet-as-strong

Swiftカテゴリの最新記事