Should IBOutlet be weak or strong var? [duplicate]

2019-03-17 12:10发布

This question already has an answer here:

I'm using Xcode 6.2 for iOS projects. In older versions of Xcode, when a connection was create for an IBOutlet, it was always weak storage. Now when I create connections, they are defaulted to strong. I leave it that way and don't notice any difference.

Which version of Xcode did the default change to strong and why?

2条回答
老娘就宠你
2楼-- · 2019-03-17 12:19

It doesn't matter weak or strong the outlet is in most cases. You just be sure that you don't have strong reference cycles.

Subviews shouldn't have strong outlets to their superviews and view shouldn't have strong outlet to its controller, because superview already has strong reference to its subviews and controller has strong reference to its view.

查看更多
【Aperson】
3楼-- · 2019-03-17 12:39

Yes, previously outlets should generally be weak but Apple has changed that. Now they recommend to use strong outlets in the WWDC 2015 session Implementing UI Designs in Interface Builder. The only reason why it might be weak is retain cycle.

查看更多
登录 后发表回答