斯威夫特有:强引用弱引用无主的引用无主引用与弱引用有何不同?什么时候使用无主引用是安全的?无主引用是否像C/ c++中的悬浮指针一样存在安全风险?

我对Objective-C中的块用法有点困惑。我目前使用ARC,我有相当多的块在我的应用程序,目前总是引用自我,而不是它的弱引用。这可能是这些块保留自我并阻止它被释放的原因吗?问题是,我应该总是在块中

java.lang.ref.WeakReference和java.lang.ref.SoftReference有什么区别?