问题标签 [associated-object]

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 投票
1 回答
912 浏览

ruby-on-rails - 创建后在模型中创建关联记录

我有一个模型 MyModel,它应该在创建后创建 MyAssociation 类型的关联记录。在 MyModel 上创建后,我需要运行如下代码:

实现这一目标的最佳方法是什么?

0 投票
2 回答
207 浏览

ios - Objective-C 运行时将对象与 NSMutable 字典关联

参考这篇文章链接 ,我使用相同的概念实现了一个类似的类别,即使用 NSMutableDictionary 来存储我需要的信息。但是在原始帖子中有一件事让我感到困惑

我知道@synchronized 关键字是对多线程的保护。但是当我浏览其他示例时,大多数时候都没有使用保护。那么保护有必要吗?我也可以使用静态 dispatch_once_t 来替换 @synchronized 吗?下面是我在 .m 文件中的代码片段

0 投票
2 回答
1936 浏览

django - 获取 factory_boy 中关联子记录的 id

我有一个function带有多个的parameters,然后是该函数的一个专用instantiation函数,settings每个函数的参数都有一些。所以我有一个如下结构:

FunctionFactory我可以factory.RelatedFactory用来创建parameters.

但是在FunctionInstantiationFactory我不能使用factory.RelatedFactory(ParameterSetting)创建ParameterSettings,因为我无权访问在其中parameter创建的对象FunctionFactory,所以我无法设置parameter_setting.function_parameter_id

如何FunctionInstantiationFactory查找在parameter_id中创建的参数FunctionFactory?我可以从 的返回值中得到它们RelatedFactory(FunctionFactory)吗?还是我需要查看数据库?

0 投票
2 回答
8436 浏览

python - 将使用 SubFactory 和 LazyAttribute 创建的对象传递给 factory_boy 中的 RelatedFactory

factory.LazyAttributeSubFactory调用中使用传入一个对象,该对象是在factory_parent. 这工作正常。

但是,如果我将创建的对象传递给 a RelatedFactoryLazyAttribute则无法再看到factory_parentand 失败。

这工作正常:

相同的调用在LazyAttribute这里失败:

相同的LazyAttribute调用不再能看到 factory_parent,只能访问AnotherObject值。LazyAttribute 抛出错误:

有办法解决这个问题吗?

我不能只将 sub_object=sub_object 放入 ObjectFactory 调用中,即:

因为如果我这样做:

创建了第二个 sub_object,而我需要两个对象都引用同一个 sub_object。我试过SelfAttribute无济于事。

0 投票
2 回答
1318 浏览

ios - 如何将关联对象与枚举一起使用?

我有一个 ViewController,我使用关联对象向其中添加了两个新属性:一个枚举和一个字符串(字符串版本取自此处

这是我的示例代码:

字符串版本可以正常工作,但枚举版本不能。而且我不确定问题是什么。

这是objc_getAssociatedObject或 的问题objc_setAssociatedObject。get版本好像一直都是nil,所以返回默认值One。

0 投票
0 回答
79 浏览

objective-c - 在关联对象中对“关联”对象的弱引用

以下代码导致 NSInternalConsistencyException: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'An instance 0x7fd3a1010000 of class UIScrollView was deallocated while key value observers were still registered with it.

实际上,问题是当dealloc在 Observer 上调用时,它对 UIScrollView 的引用已经被取消,并且_removeObservers是无操作的。

我知道这可能与释放关联对象的方式有关,但这实际上从https://developer.apple.com/videos/play/wwdc2011-322/ (38:14) 中不清楚对象在弱引用被擦除之前被擦除。

我发现的一种解决方法是制作 UIScrollView 属性unsafe_unretained

  • 有人确切知道为什么会发生这种情况吗?
  • 这里推荐的解决方案是什么?

谢谢!

接着:

0 投票
2 回答
40 浏览

ruby-on-rails - Rails:更新加入的 Active Model 的属性

我是 RoR 的新手。我的问题是关于更新关联的活动模型的属性。

我有一个用户形式的页面,我可以在其中更新用户的属性,以及关联的 user_devices 的某些属性:

当我使用 update_attributes() 发布表单并更新所有属性时,它显示“ActiveModel::MassAssignmentSecurity::Error”

另一个问题是,我不知道如何命名玩具表中的“is_new”属性。它应该是:toys_is_new 吗?

我也希望更新相关玩具的属性。你能帮我解决这个问题吗?

0 投票
0 回答
24 浏览

odata - 具有关联对象但不是内联对象的 OData

我正在尝试了解 OData ...

我知道 $expand 参数,它几乎是我需要的,但是:返回的嵌入数据是高度冗余的。

这让我想到了一个问题:如何在一次调用中获取关联对象作为引用和被引用对象的单独列表?

还是有什么重要的我还不明白?

0 投票
2 回答
304 浏览

objective-c - 如何将选择器 (SEL) 与 objc_setAssociatedObject 一起使用?

我可以在不将其转换为 NSString 类型的情况下将 SEL 类型的参数与 objc_setAssociatedObject 一起使用吗?

目前我正在使用这段代码: objc_setAssociatedObject(thirdPartyObject, &kSelectorKey, NSStringFromSelector(selector), OBJC_ASSOCIATION_RETAIN);

转换为 NSString 有效,但感觉不对。必须有更合适的解决方案。

0 投票
1 回答
424 浏览

swift - NSManagedObjectContext 释放问题 - (Swift | Associated Objects)

我希望有人能解释为什么当源/主机对象被释放时,以下示例中的关联对象不会自动释放。下面的示例代码有些做作(提前道歉),但它解释了我的问题。


该示例假定 CoreData 实体Product具有字符串属性sku和 Xcode 模板提供的默认 CoreData 堆栈:

createProduct函数被执行时,一个新的 PrivateQueueConcurrencyType Managed Object Context (MOC) 将被新的ProductManaged Object (MO) 出售和使用。上面的代码工作正常 - 到目前为止。

然而!如果我将createProduct函数的前两行组合起来:

然后应用程序将崩溃并try newProduct.managedObjectContext?.save()带有EXC_BAD_ACCESS.

乍一看,这似乎有点奇怪——因为我们所做的只是重构了代码。深入研究文档,该managedObjectContext属性被声明为unowned(unsafe). 这可能意味着创建的 MOC 已被释放,并且我们有一个悬空指针(如果我的假设错误,请纠正我)。

为了确保 MOC 不会被释放,我尝试将它与 MO 本身关联起来。 newProduct

这似乎非常有效 - 直到我签入 Instruments。看起来,当ProductMO 被释放时,现在关联的 MOC 不是(当源对象被释放时不应该自动释放吗?)

我的问题是:有人可以解释阻止它被释放的 MOC 的附加参考在哪里吗?我是否在 MO 和 MOC 之间创建了保留周期?

在此处输入图像描述