问题标签 [nsinvocation]

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 回答
344 浏览

objective-c - 为什么 prepareWithInvocationTarget: 特定于 NSUndoManager?

比较...

...和...

. 为什么没有实现这样的方法?

0 投票
1 回答
327 浏览

objective-c - 静态objective-c类是否必须继承NSObject?

在我的 Objective-C 项目中,我有一个奇怪的功能,可以说,我有一个类,如下所示:

发生的情况是,当我单步执行代码时它工作正常,但我在控制台中收到一个神秘错误(即使代码完全正常,按预期工作):

然而,即使它说中止,代码仍然有效。但是,当我在没有单步执行这些代码行的情况下运行它时,它会中止。发生了什么,为什么?

0 投票
1 回答
861 浏览

ios - Apple 在其 + (NSMethodSignature *)signatureWithObjCTypes:(const char *)types 文档中的谨慎

在 Apple 的这种方法的文档中,它最后说如下:

特别注意事项

此方法从 Mac OS X v10.0 开始可用,在 Mac OS X v10.5 中公开。仅支持运行应用程序的运行时样式的类型编码字符串。在公开此方法时,没有承诺在发生此类更改后二进制兼容地支持任何“旧式”类型的编码字符串。

您有责任传入来自当前运行时数据的类型字符串,或者与运行应用程序的运行时使用的类型字符串的样式相匹配。

恐怕我不明白这一点。谁能解释一下?

我真正想知道的是:如果我编写一个使用这种方法的 iOS 应用程序,他们是否会说如果 Apple 改变它做某事的方式,它可能会在以后对我造成影响?

我正在使用可可。. .

0 投票
1 回答
327 浏览

iphone - (iphone) nsInvocation 崩溃问题

我第一次尝试使用 NSInvocation,下面的代码是从 stackoverflow 的其他答案代码中采用的。
计时器运行良好,但是当它实际到期并在 (animationEnd:) 处执行代码时会崩溃

我哪里搞砸了?
根据崩溃日志,看起来 (animationEnd:) 处的调用是我传递给调用的参数本身。
混乱的东西。。

谢谢你。

0 投票
2 回答
6196 浏览

iphone - forwardInvocation 没有被调用?

我无法让 forwardInvocation 工作。出于某种原因,Objective-C 运行时完全忽略了我的 forwardInvocation: 方法并抛出了一个无法识别的选择器异常。

我的测试代码如下:

我正在处理以下资源中的信息:

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtForwarding.html#//apple_ref/doc/uid/TP40008048-CH105 http://cocoawithlove.com/2008/ 03/construct-nsinvocation-for-any-message.html

据我所知,当我调用 [sparse value] 时,运行时应该在 SparseClass 的实例上调用 forwardInvocation:,但它被完全忽略:

-[SparseClass 值]:无法识别的选择器发送到实例 0x4b1c4a0 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[SparseClass 值]:无法识别的选择器发送到实例 0x4b1c4a0”

0 投票
2 回答
460 浏览

iphone - (iphone) nsInvocation 泄漏.. 可能是传递的参数?

我在后台线程上调用选择器,
选择器周围有 NSAutorelasePool。
我猜我传递给选择器的参数导致了问题。我应该如何处理?

0 投票
1 回答
518 浏览

objective-c - 释放 NSInvocationOperation 导致应用程序崩溃

嗨,我有以下代码

当我取消注释 [操作发布] 我的应用程序崩溃。我得到这个错误:

malloc:* 对象 0x726ed50 的错误:未分配被释放的指针 *在 malloc_error_break 中设置断点以进行调试

我认为 NSOperationQueue 负责保留对象。有什么我做错或不知道的事情吗?

0 投票
2 回答
5325 浏览

objective-c - NSInvocationOperation 使用参数定义选择器

我正在尝试创建 NSInvocationOperation 以便它应该使用参数调用对象的方法

此代码因 EXC_BAD_ACCESS 而崩溃。如果我将要调用的函数定义更改为此

一切都变好了。我曾尝试在@selector的代码块中使用不同的语法,例如@selector(loadImagesWithOperation:)@selector(loadImagesWithOperation:bounds:),但没有成功。

使用参数定义选择器和函数的正确方法是什么?

谢谢。

0 投票
1 回答
1150 浏览

objective-c - NSInvocation:虽然设置了无法识别的选择器

我收到这条消息:

“(空):发送到类 0x3f52e824 的无法识别的选择器”

我尝试过的基本代码:

我可以用这些参数自己调用 (applyProperties:toObject) ......所以我不确定我做错了什么。

0 投票
2 回答
2256 浏览

iphone - 如何让 performSelector 与 NSInvocation 一起工作?

我需要将 touchesBegan 中的触摸和事件传递给我自己的由 performSelector 调用的方法。我正在使用 NSInvocation 来打包参数,但我遇到了目标问题。

我这样做的原因是我可以处理其他滚动事件。

这是我的代码:

其中handleTap定义为:

我的问题是,当我编译它时,我得到一个警告:

'CategoryButton' 许多不响应'-target'

当我运行它时,它崩溃了:

-[CategoryButton 目标]:无法识别的选择器发送到实例 0x5b39280

我必须承认我并不真正了解目标在这里试图做什么以及它是如何设置的。

谢谢你的帮助。