问题标签 [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 回答
2334 浏览

objective-c - objc_setAssociatedObject 与 nil 删除 - 策略检查?

在文档中...

objc_setAssociatedObject

使用给定键和关联策略为给定对象设置关联值。

void objc_setAssociatedObject(id object, void *key, id value, objc_AssociationPolicy policy)

参数object 关联的源对象。

key关联的键。

value要与对象的键 key 关联的值。通过 nil 清除现有关联。

policy关联的策略。有关可能的值,请参阅“关联对象行为”。</p>

不清楚的是,当您调用objc_setAssociatedObject()删除关联时,是否有必要使用与最初设置属性相同的策略?还是objc_setAssociatedObject()只是使用适当的策略来“撤消”前一组?我假设它必须忽略该策略,否则如果您只是设置另一个值,则之前的值也需要使用相同的策略进行设置。不同之处在于,在某些情况下,当前存储的属性的引用计数会被调整,而在其他情况下则不会。

很明显,系统确实在内部跟踪它,否则泛型objc_removeAssociatedObjects()将永远无法工作,而 ARC 无论如何都需要知道这一点才能工作。

我个人需要知道的原因是以下代码片段:

0 投票
1 回答
108 浏览

objective-c - setter 和 getter 作为 objc_setAssociatedObjec

我不明白这种风格是什么意思,标准制定者/获取者有什么好处吗?

0 投票
1 回答
368 浏览

ruby-on-rails-4 - 按关联模型 Rails 4 的数量排序

我有两个模型:

夹克.rb:

按钮.rb:

在我的商店控制器中,我希望能够做到 @store.jackets.order(buttons: :desc),但我不能这样做,因为它不是 db 列。我该怎么做?

0 投票
1 回答
323 浏览

memory-management - 对象 c 运行时关联对象

关联对象教程 “教程链接让我对object-c运行时关联对象有了一个清晰的概念”

阅读下面的示例代码后,我有一个小问题。

如果您在 iOS 中使用 ARC,我们是否需要自己添加内存处理?

提前致谢

0 投票
8 回答
37933 浏览

swift - 有没有办法在 Swift 中设置关联对象?

来自 Objective-C,您可以objc_setAssociatedObject在 2 个对象之间调用函数以让它们维护一个引用,如果在运行时您不希望一个对象被销毁,直到它的引用也被删除,这会很方便。斯威夫特有类似的东西吗?

0 投票
1 回答
857 浏览

ios - objc_getAssociatedObject suddenly starts returning nil

I have a category for the NSURLConnection and I use associated objects to extend the class to keep a reference to a custom class of mine so I can get later in other context when delegate and forward the call to the real target later. This way I can modify the desired data in certain points of runtime.

But for a reason when everything used to work properly, suddenly the objc_getAssociatedObject returns nil, meaning I don't get back my associated object and the whole process stops.

My code:

And how I access the above functions from other static functions.

When I set the associated object:

Get the associated object:

Result always is "MyClass is NIL". As I mentioned this was working properly and stopped with no reason that comes to my mind.

What do you think?

0 投票
1 回答
97 浏览

arrays - 在打字稿中使用数组

我对打字稿很陌生,我想使用一个数组将主题与这样的电子邮件地址相关联

我怎么能在打字稿中做这样的事情?有可能吗?

0 投票
1 回答
143 浏览

ios - iOS:在 UIColor 类别中为 -colorWithPatternImage 抓取对象的边界?

有没有办法抓住一个对象的边界,谁的 backgroundColor 被设置在 UIColor 类别中?

例如,我正在尝试从图像中应用 UIColor,但我希望它相应地被拉伸。相关的参考文献可以完成这项工作吗?或者最好在 UIView 类别中实现这种方法?

更新:

这是设置背景颜色的方法:

}

0 投票
19 回答
122702 浏览

ios - 如何像在 Objective-C 上一样在 Swift 中存储属性?

我正在将应用程序从 Objective-C 切换到 Swift,我有几个具有存储属性的类别,例如:

由于 Swift 扩展不接受这样的存储属性,我不知道如何保持与 Objc 代码相同的结构。存储属性对我的应用程序非常重要,我相信 Apple 一定已经为在 Swift 中创建了一些解决方案。

正如jou所说,我正在寻找的实际上是使用关联对象,所以我做了(在另一个上下文中):

但是我在做的时候得到一个 EXC_BAD_ACCESS:

有任何想法吗?

0 投票
1 回答
81 浏览

ruby-on-rails - Rails - 查找没有关联记录

我想选择一个用户并向其添加相关记录,例如此示例的子项。但只有具有特定 place_id 的孩子。

此代码有效,但是当用户没有任何子条目时,我收到错误。

这是错误:

谢谢 !