问题标签 [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 投票
4 回答
1289 浏览

iphone - 在延迟后调用委托上的方法,在其生命周期结束时从对象

我有一个模态视图控制器,它在它自己的上下文中创建核心数据更改,当我单击完成时,它会保存更改(调度合并更改通知),通知委托并关闭。

我的问题是,在我的主要上下文与编辑上下文的更改合并后,我需要委托接收消息。我希望在下一个运行循环中进行委托调用,但我遇到了对象生命周期的问题。我想到了以下几点:

  1. 拨打电话,[delegate performSelector:withObject:afterDelay:]但似乎无法识别该消息。我的委托符合NSObject协议,但不包括延迟执行选择器。
  2. 在我的视图控制器中创建一个方法:informDelegateWithObject:调用委托方法,并在延迟后调用该方法。即[self performSelector:@selector(informDelegateWithObject:) withObject:.. afterDelay:..]。但是,这可能会起作用,因为我的视图控制器正在被解除,如果延迟是几秒钟,那么它就会从内存中释放出来,并且在调用时不会导致崩溃吗?
  3. 创建一个NSInvocation. 我有想过这个,但是,这个对象的生命周期是多少?如果我使用它创建它,[NSInvocation invocationWithMethodSignature:]那么NSInvocation对象不会被自动释放,并且不会出现在下一个运行循环中吗?更别说几秒钟了。当我的模态视图控制器被解除和释放时,我无法将调用对象存储在我的视图控制器中。

有什么建议么?

0 投票
1 回答
461 浏览

iphone - 带有 NSInvocation 方法参数的函数

我有一个使用这两个功能的控制器视图:

所以在我的 ressourceManager 中,这里是第二个函数的详细信息:

问题是第二个函数不起作用(不按顺序调用库例程),因为我已经以相同的方式调用了第一个函数(我希望能够同时使用参数执行许多查询)。听说使用 NSInvocation 可以解决这个问题,但是不知道如何使用 NSInvocation 转我的代码。有人可以帮助我吗?

最好的祝福,

0 投票
1 回答
204 浏览

iphone - 覆盖 NSObject 并添加一个类变量

我正在使用以下代码在使用多个传递参数的延迟后执行选择器:

http://nifty-box.com/blog/2006/12/nsinvocation-cleans-code.html

它工作得很好,但我需要扩展它以支持相当于:

[NSObject cancelPreviousPerformRequestsWithTarget:self]

(在这种情况下,目标不是自我,而是我相信的 _UFLatePerformer 的一个实例)

有没有办法做到这一点,所以我的视图的释放可以杀死所有剩余的延迟性能请求?

0 投票
3 回答
4676 浏览

iphone - 使用 NSInvocation 在主线程上执行选择器

我想在主线程上执行动画(因为 UIKit 对象不是线程安全的),但在一些单独的线程中准备它。我有(baAnimation - CABasicAnimation 之前已分配和初始化):

我得到:

***+[NSCFString 长度]:发送到类 0x1fb36a0 的无法识别的选择器

来电:

[workView.layer addAnimation:baAnimation forKey:@"someViewAnimation"];工作正常。我究竟做错了什么?

0 投票
2 回答
289 浏览

iphone - NSInvocation 对象没有被分配 iphone sdk

我正在做

但是即使在处理完这一行之后,我的 _operation 对象也是 nil 。

这里的选择器实际上是我正在编写的一个函数,类似于:

}

任何人都可以指出我哪里出错了。

提前谢谢。

0 投票
3 回答
972 浏览

iphone - NSInvocation 使应用程序崩溃

我正在使用 NSInvocation 如下:

在我的初始化中,我在 viewDidLoad 中写了这个:

我这样称呼它:

我的应用程序在指示的行崩溃。有人可以帮我吗?

0 投票
1 回答
367 浏览

objective-c - NSInvocation 泄漏

我正在尝试设置 NSInovcation 系统以使用 performSelectorInBackground 将选择器启动到后台线程中: - 到目前为止,在实例方法 (-) 上运行系统时一切都成功,但我也想支持类方法 (+)。我已经调整了我的代码,为这两种类型的类提供了一个 invokeInBackgroundThread,除了一个问题之外,一切正常。当调用类方法时,我的控制台充斥着“autoreleased with no pool in place”消息。不知道是什么原因造成的。基于 DDFoundation 开源项目的代码如下所示。




0 投票
3 回答
858 浏览

objective-c - 带有 NSInvocation 的 UIButton

我试图以编程方式添加一个按钮,在按下它时,某个对象正在被传递。我不断收到“发送无法识别的选择器”异常。你能建议代码有什么问题吗:

再往下看,同一类中的方法如下所示:

0 投票
1 回答
611 浏览

c++ - NSInvocation 未将指针传递给 C++ 数组

我想我只是犯了一个根本性的错误,但我一辈子都看不到它。

我正在从 C++ 类(已锁定)中调用 Objective-C 对象的方法。我正在使用 NSInvocation 来防止我不得不编写数百个方法来访问另一个对象中的数据。

这些是我正在经历的步骤。这是我的第一个电话,我想通过s2。我真的不能提供一个可编译的例子,但希望这只是我的一个 DUHRRRRR 问题。

这是被调用的 View 方法

Invoke Union 是一个联合,因此我可以获得 NSInvocation 返回的浮点值。

这是数据对象中的方法(pthread 用 lock() 和 unlock() 锁定);

DCMPix 对象中的方法(我无法修改,它是库的一部分)如下:

它在尝试访问时崩溃d[0]BAD_EXC_ACCESS 我知道这意味着它正在访问已释放的内存或超出其范围的内存。

我迷失了跟踪指针的指针。这两个浮点值很好(与其他方法中的其他信息一样),但这是唯一一个要求 afloat*作为参数的值。据我了解,该convertPixX:方法是从为 Mac OS 9 编写的 C 程序转换而来的……这就是为什么它要求将 c 数组作为out值……我想。

无论如何,任何见解将不胜感激。

我试过发送这样的值:

但这给出了一个SIGKILL- 加上我确信它是虚假和错误的。......但我试过了。

无论如何...指针!跨语言!啊!

谢谢,

0 投票
1 回答
352 浏览

objective-c - 如何处理 iOS4.0+ 的 iPhone 模拟器 NSInvocation 问题

对于 iPhone Simulator iOS4.0+,NSInvocation 不能很好地处理异常。我遇到了使用 objc_msgSend的解决方法。当我尝试将其作为 objc_msgSend(target_, [invocation selector]) 进行以下调用并在 createResponseFromInvocation() 下注释掉 [invocation invoke] 时会挂起。我尝试了不同的调用 obj_msgSend 的方法,但没有奏效。