问题标签 [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.
iphone - 在延迟后调用委托上的方法,在其生命周期结束时从对象
我有一个模态视图控制器,它在它自己的上下文中创建核心数据更改,当我单击完成时,它会保存更改(调度合并更改通知),通知委托并关闭。
我的问题是,在我的主要上下文与编辑上下文的更改合并后,我需要委托接收消息。我希望在下一个运行循环中进行委托调用,但我遇到了对象生命周期的问题。我想到了以下几点:
- 拨打电话,
[delegate performSelector:withObject:afterDelay:]
但似乎无法识别该消息。我的委托符合NSObject
协议,但不包括延迟执行选择器。 - 在我的视图控制器中创建一个方法:
informDelegateWithObject:
调用委托方法,并在延迟后调用该方法。即[self performSelector:@selector(informDelegateWithObject:) withObject:.. afterDelay:..]
。但是,这可能会起作用,因为我的视图控制器正在被解除,如果延迟是几秒钟,那么它就会从内存中释放出来,并且在调用时不会导致崩溃吗? - 创建一个
NSInvocation
. 我有想过这个,但是,这个对象的生命周期是多少?如果我使用它创建它,[NSInvocation invocationWithMethodSignature:]
那么NSInvocation
对象不会被自动释放,并且不会出现在下一个运行循环中吗?更别说几秒钟了。当我的模态视图控制器被解除和释放时,我无法将调用对象存储在我的视图控制器中。
有什么建议么?
iphone - 带有 NSInvocation 方法参数的函数
我有一个使用这两个功能的控制器视图:
所以在我的 ressourceManager 中,这里是第二个函数的详细信息:
问题是第二个函数不起作用(不按顺序调用库例程),因为我已经以相同的方式调用了第一个函数(我希望能够同时使用参数执行许多查询)。听说使用 NSInvocation 可以解决这个问题,但是不知道如何使用 NSInvocation 转我的代码。有人可以帮助我吗?
最好的祝福,
iphone - 覆盖 NSObject 并添加一个类变量
我正在使用以下代码在使用多个传递参数的延迟后执行选择器:
http://nifty-box.com/blog/2006/12/nsinvocation-cleans-code.html
它工作得很好,但我需要扩展它以支持相当于:
[NSObject cancelPreviousPerformRequestsWithTarget:self]
(在这种情况下,目标不是自我,而是我相信的 _UFLatePerformer 的一个实例)
有没有办法做到这一点,所以我的视图的释放可以杀死所有剩余的延迟性能请求?
iphone - 使用 NSInvocation 在主线程上执行选择器
我想在主线程上执行动画(因为 UIKit 对象不是线程安全的),但在一些单独的线程中准备它。我有(baAnimation - CABasicAnimation 之前已分配和初始化):
我得到:
***
+[NSCFString 长度]:发送到类 0x1fb36a0 的无法识别的选择器
来电:
但[workView.layer addAnimation:baAnimation forKey:@"someViewAnimation"];
工作正常。我究竟做错了什么?
iphone - NSInvocation 对象没有被分配 iphone sdk
我正在做
但是即使在处理完这一行之后,我的 _operation 对象也是 nil 。
这里的选择器实际上是我正在编写的一个函数,类似于:
}
任何人都可以指出我哪里出错了。
提前谢谢。
iphone - NSInvocation 使应用程序崩溃
我正在使用 NSInvocation 如下:
在我的初始化中,我在 viewDidLoad 中写了这个:
我这样称呼它:
我的应用程序在指示的行崩溃。有人可以帮我吗?
objective-c - NSInvocation 泄漏
我正在尝试设置 NSInovcation 系统以使用 performSelectorInBackground 将选择器启动到后台线程中: - 到目前为止,在实例方法 (-) 上运行系统时一切都成功,但我也想支持类方法 (+)。我已经调整了我的代码,为这两种类型的类提供了一个 invokeInBackgroundThread,除了一个问题之外,一切正常。当调用类方法时,我的控制台充斥着“autoreleased with no pool in place”消息。不知道是什么原因造成的。基于 DDFoundation 开源项目的代码如下所示。
objective-c - 带有 NSInvocation 的 UIButton
我试图以编程方式添加一个按钮,在按下它时,某个对象正在被传递。我不断收到“发送无法识别的选择器”异常。你能建议代码有什么问题吗:
再往下看,同一类中的方法如下所示:
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
- 加上我确信它是虚假和错误的。......但我试过了。
无论如何...指针!跨语言!啊!
谢谢,
objective-c - 如何处理 iOS4.0+ 的 iPhone 模拟器 NSInvocation 问题
对于 iPhone Simulator iOS4.0+,NSInvocation 不能很好地处理异常。我遇到了使用 objc_msgSend的解决方法。当我尝试将其作为 objc_msgSend(target_, [invocation selector]) 进行以下调用并在 createResponseFromInvocation() 下注释掉 [invocation invoke] 时会挂起。我尝试了不同的调用 obj_msgSend 的方法,但没有奏效。