问题标签 [weak]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何在 C 中为外部定义的函数创建别名?
在编译此 C 代码期间
我收到了这个
如何在外部定义的函数上创建别名?
编译器:
python - 弱类型与强类型?斯威夫特与蟒蛇
为什么我们可以在 python 程序的生命周期中将变量指向不同类型的值,但不能在 swift 中?这适用于python:
迅速抛出错误:
这种行为是否与强/弱类型概念或静态/动态概念相关?
ios - 以编程方式在自定义视图中快速 tableView - 失去对控制器委托和数据源的引用
我正在尝试学习 MVVM 模式并使用 Snapkit 以编程方式编写我的所有视图。我正在创建包含简单 tableView 的汉堡菜单,但我有一个问题,即我在自定义视图中的 tableView 正在丢失视图控制器上的委托和数据源引用。我也尝试使用 UITableViewController,但结果是一样的,这是我的代码:
视图模型:
看法:
我的视图控制器:
我正在从几个教程中学习,他们没有遇到这个问题,但他们都在使用界面构建器,我想避免这种情况。请让我知道,如果我做错了什么,谢谢。
解决方案
我发现,在这个显示的代码之外,我犯了一个非常大的错误,我在一个函数中初始化了 SideMenuController 并且没有保持对它的引用,所以自然它在函数结束后自动取消初始化。这是一个非常糟糕的错误。感谢所有答案,这里的代码正在运行,但我根据答案对其进行了重构。
rust - 如何删除弱如果无法升级到强引用,则 BinaryHeap 的价值?
我想使用 a BinaryHeap
with 类型的元素MyWrapperStruct(Weak<MyStruct>)
,我在其中实现Ord
for MyWrapperStruct
。在这个实现中,我需要升级弱引用,这可能会失败。如果他们失败了,我希望从堆中删除元素。
我如何以一种不需要我首先遍历整个堆以删除所有不可升级的弱引用的方式来实现这一点?这个堆里会有大量的数据,而其中只有极少数会失效。为了性能,我想避免遍历所有数据。
c++ - 如何创建“弱”功能并将其与对象一起使用?
我正在写一个名为“MQTT_interface”的类。我需要在此类的“重新连接”方法中使用“回调”功能。我想开发人员会为自己编写函数“回调”,如果没有,就会有一种同名的弱函数(“回调”),它会向控制台发送错误。
我不知道这是否可能。
我有这些文件:
MQTT_interface.h
MQTT_interface.cpp
main.cpp
java - 在 System.gc() 之后未释放 Java 弱引用
我有一个简单的片段:
“System.gc()”调用应该强制回收所有弱引用,对,我什至等了 1 秒钟以确保 gc() 发生。但即使设置了“integer = null”,“wi”也拒绝为空。而 sr 在“System.gc()”之后为空。它打印:
我的问题:(1)wi和sr之间的核心区别是什么?(2)如何让jvm回收wi?
非常感谢。
swift - 覆盖弱 var 属性?
我有一堂课weak var
,
例如 :
如果构建一个子类,我可以在没有弱键的情况下覆盖该属性吗?
我尝试使用以下代码,但收到:
“不能用存储的属性覆盖”错误。
如果可以做,我该怎么做?
swift - 在快速关闭中使用 `[weak self]` 是正确的方法吗?
我总是使用[weak self]
快速关闭来防止引用循环。这是下面的代码,它是正确的方法吗?
弱自我不会对实例保持强控制。那么什么时候self.doLongTermWork()
, 会再次self
设置到nil
其他地方呢?
swift - 是否有任何解决方法可以快速指定内部 func 捕获列表及其修饰符
我在 swift 规范中搜索了内部 func 上的捕获列表,但没有运气,有没有办法打破这种参考循环?
swift - 如何实例化弱委托而不触发“实例将立即被释放,因为属性‘tableViewDelegate’是‘弱’”
我试图将我的 tableView 的数据源分离到一个单独的委托对象中。由于该委托需要在某些时候访问 tableview,因此我需要对委托中的委托对象的引用;并且由于两者都是类,因此我需要通过委托来避免强引用循环weak
为此,我尝试了以下代码。
当我尝试实例化委托时,Xcode 会抛出一个警告:“实例将立即被释放,因为属性‘tableViewDelegate’是‘弱’”
所以要修复它,我执行以下操作:
请确认以下是否正确:通过在 viewDidLoad() 方法中初始化委托,我没有创建强引用的危险,因为一旦我们离开该方法的范围,保存该实例的变量就会被释放。或者换一种说法:我们唯一需要担心一个变量(指向一个类)创建一个强引用是变量是否在类级别初始化,因此只要类存在.
那是对的吗?