问题标签 [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.

0 投票
6 回答
9544 浏览

swift - 不支持用作符合协议 AnyObject 的具体类型

我正在使用 Swift 2 并使用 Wea​​kContainer 作为存储一组弱对象的一种方式,就像NSHashTable.weakObjectsHashTable()

然后在我的 ViewController 中,我声明

但这是错误

不支持将 MyDelegate 用作符合协议 AnyObject 的具体类型

我看到错误是成员声明为WeakContainer,因此应该是对象。但我也声明为。如何解决这个问题?valueweakTMyDelegateAnyObject

0 投票
0 回答
522 浏览

c++ - 我可以从另一个 cpp 调用 cpp 中的 C++ extern "C" 函数吗?

我正在使用一个我无法修改的 C++ 类,它在 cpp 文件(不是 .h)中声明了一个外部“C”函数。

如何从另一个 cpp 文件中调用该函数?

更复杂的是,该函数是用“弱”属性声明的,因此我可以覆盖它。我真正想做的是以类似于从重写函数的派生类调用基类函数的方式从我的强函数中调用该弱函数。

  • 更多的 -

好吧,让我们变得更加具体,因为人们要求更多信息......

我正在为 iOS 应用程序创建一个 Qt 5.5 项目。我发现了一个错误,如果您正面朝上加载应用程序,Qt 会崩溃。请参阅线程:当应用程序面朝上启动时,Qt for iOS 会锁定。(qiosscreen.mm 断言)

我不是从 Qt 源代码构建的。我开箱即用。我可以看到 cpp 源代码,但实际上无法修改或包含它。

我想出了一种使用静态类的方法来检测我的问题是否会在它发生之前发生。因为我实际上不知道如何修复它,所以我想至少显示一条错误消息,而不是让应用程序在启动时进入黑屏。

Qt iOS 应用程序使用“qioseventdispatcher”类加载。cpp(我无法更改或包含)声明了一个弱主函数和另一个名为 qtmn 的弱函数。您应该将 qtmn 覆盖为您的“主”函数 - 这个 qt 类调用它。但是,您也可以覆盖“真正的”主程序并创建自己的本机应用程序,而无需 qt 底层。

我想在 RUNTIME 确定(我现在可以在编译时执行此操作)是否要调用 qt 函数或我自己的函数来加载将显示错误消息的简单本机应用程序。

这是一些qt cpp:

qtmn() 继续由 UIApplication 选择器 (void) applicationDidFinishLaunching 调用。

我想提供 main 的“强”副本和 qtmn() 的强副本。我的 main 副本将决定加载我的本机应用程序,或者以某种方式调用 qt weak main 函数,然后它将以标准的 Qt for iOS 方式调用我的 qtmn() 函数。

0 投票
1 回答
592 浏览

ios - IOS UI元素需要弱吗?

当不使用界面生成器时,我总是强烈引用 UI 元素:

然后像这样添加它们:

因此,初始化程序是:

有人告诉我,由于某种原因,这很糟糕,他们应该总是很弱。

强引用在这里是一件坏事吗?

0 投票
1 回答
701 浏览

ios - iOS:块中的实例变量

我的对象有一些实例变量,如下所示:

这是方法:

iOS编译器抛出一个错误://由于竞争条件可能导致空值,不允许取消引用弱指针,首先将其分配给强变量...

错误语句是 :weakSelf->resultDictionary = result ;

你能帮我看看为什么会出错。

0 投票
1 回答
347 浏览

ios - 在 NON-ARC 中分配并保留循环

NON-ARC 中如何处理保留周期!

我知道分配是弱的替代品。

如果分配的对象被解除分配而分配没有

那么之前是如何完成的,任何人都可以帮助我理解

0 投票
1 回答
168 浏览

sql-server-2005 - SQL Server 2005 使用 setup.ini 弱 sapwd

我正在尝试通过带有 ini 文件的命令行安装 SQL Server 2005。

我使用 SQL Server 2005 运行的应用程序需要一组 SAPWD,但是,此密码不符合我们的密码策略。

我知道有一种方法可以使用“CREATE LOGIN”和“CHECK_POLICY=OFF”来创建用户。但是有没有办法让 setup.ini 文件也忽略安全策略?

0 投票
2 回答
8311 浏览

swift - 带有弱引用键的 Swift 字典?

假设我有一些代表网络连接的对象。一旦断开这些连接,关联的对象就会消失。我不想挂在不再连接的连接对象上。

我还想使用字典将一些数据与这些连接相关联。所以我可能有代码:

但是上面的代码意味着字典将保留对Connection我不想要的对象的引用。我希望在Connection对象消失时自动删除关联的条目。

所以我尝试了:

但这不起作用。对此有什么好的替代解决方案?

0 投票
1 回答
350 浏览

ios - 弱自我与弱自我()之间的区别

[weak self]作为参数传递给闭包与传递之间有什么区别[weak self] ()

例如 :

v/s

0 投票
0 回答
39 浏览

arrays - 使用导致 nil 展开的弱变量的循环引用

首先让我说我搜索了一个对我有帮助的主题,但我找不到任何帮助。这是我的情况...

我创建了一个sign创建变量的类thing1。然后我创建了一个名为的数组arrayX,它使用sign. 然后我使用 NSURL 会话从域中提取值。然后我创建thingX了将保持该值的值,最后我将我arrayX的值附加到thingX. 这很好用,只是看起来我有很强的循环引用并且无法释放内存。我尝试用弱引用修复它,但偶尔的空thingX导致我的应用程序崩溃,因为它试图解开零。请帮忙!!!

0 投票
1 回答
208 浏览

android - Firebase 是否在 Android 上为他们的听众使用“WeakReference”?

我想知道 Firebase 是否使用WeakReference该类来引用侦听器实例。

想象以下场景:一个愚蠢的开发人员附加了一个ValueEventListenerinonCreate()SillyActivity忘记删除它。如果 get 被杀死,听众的参考是否会变得无效SillyActivity?否则它将保留在进程堆中,甚至继续执行。

换句话说:作为一个WeakReference,如果它只在活动/片段的生命周期中添加一次,那么监听器不被删除就不会是一场灾难。它不会在活动/片段的生命周期内泄漏。

另一个相关的额外问题是,如果添加的听众addListenerForSingleValueEvent()被自动删除。该文档声称会触发一次侦听器,但不会将其删除。我认为它会自动删除 - 这将是实现一次性火灾的最简单方法。