web-dev-qa-db-ja.com

IBOutletは弱いまたは強い変数ですか?

IOSプロジェクトにXcode 6.2を使用しています。 Xcodeの古いバージョンでは、IBOutletの接続が作成されたとき、常に弱いストレージでした。接続を作成すると、デフォルトで強い接続になります。そのままにしておきますが、違いはありません。

Xcodeのどのバージョンがデフォルトをstrongに変更しましたか?その理由は?

25
4thSpace

はい、以前はアウトレットは一般に弱いはずでしたが、Appleはそれを変更しました。今では、strongアウトレットをWWDC 2015セッション Interface BuilderでのUIデザインの実装 。唯一の 理由 なぜ弱いのかは、保持サイクルです。

28
beryllium

ほとんどの場合、コンセントが弱いか強いかは関係ありません。強力な参照サイクルがないことを確認してください。

スーパービューにはすでにサブビューへの強い参照があり、コントローラーにはビューへの強い参照があるため、サブビューにはスーパービューへの強いアウトレットがなく、ビューにはコントローラーへの強いアウトレットがありません。

13