nsinvocation相关内容

-[NSInvocation getReturnValue:] 使用 double 值意外产生 0

我正在尝试使用 NSInvocation 调用返回 double 的方法.但我发现它在 64 位 iOS 应用程序中不起作用.它适用于 OS X,在模拟器中——32 位和 64 位——iPad 2 和具有 32 位版本的 iPad Air.只有 iPad Air 设备上的 64 位版本有这个问题. 这是演示问题的代码: NSMethodSignature *signature = [NSS ..
发布时间:2021-11-17 22:44:55 移动开发

Swift 中的 NSInvocation 有什么替代方案吗?

我正在尝试使用多个 (2+) 参数(可以确定参数的数量)来调用 选择器.然而,选择器在编译时是未知的(实际上是用 NSSelectorFromString 生成的). 在 Objective-C 中,我可以创建一个调用并为其设置参数并调用它.但这在 Swift 中不可用.有没有办法解决?喜欢: let obj = SomeClass()let selector = NSSelectorFr ..
发布时间:2021-09-02 18:33:51 移动开发

当前方法的 NSInvocation 的 getArgument 总是返回 null

我想获取我所在的当前函数的参数名称,以便我可以准备从文件系统加载该对象(如果当前实例中不存在该对象).(例如,如果 [foo dictTest] 不可用,我想将其先前保存的 plist 版本加载到该 ivar 中) 我想通过提供我作为参数提供给当前函数的 ivar 名称来查找文件. 这是函数代码: -(NSDictionary*)getCachedDictionary:(NSDict ..
发布时间:2021-06-10 18:44:48 移动开发

获取NSInvocation的消息发件人

我如何获取包裹在NSInvocation中的消息的发件人? 我在一个对象中,而我刚刚收到了一个调用 forwardInvocation:。 是否有办法知道谁是第一位向我发送消息的人? 解决方案 否。有关发件人的信息不可用(除非您显式添加 sender:self 自变量)。 另请参见此线程 http://www.cocoabuilder.com/archive/cocoa/19 ..

通过运行时调用块,是否类似于NSInvocation?

我有一个未知类型的块(如id)和需要传递给该块的参数数组.参数可以是包装为NSNumber/NSValue的对象或数字/结构. Block也可能返回对象,数字或结构.这是一个库代码,并且事先不知道参数的类型. 假设我可以从块描述符中动态读取签名,是否有一种方法可以构造类似于NSInvocation的代码来调用块? 解决方案 令人惊讶的是: CGAffineTransform ( ..

将块传递给异步方法

我正在将一个块传递给异步方法,该方法稍后将执行该块.如果在将块传递给someMethod之前未复制该块,则我的应用程序将崩溃: 有没有办法在forwardInvocation中复制块:而不是在将其传递给someMethod:success:failure:之前复制它? 流为 someMethod:success:failure:-> forwardInvocation:-> httpGet ..
发布时间:2020-05-19 18:37:39 移动开发

NSInvocation和block有什么区别?

当我说“阻止"时,我的意思是: ^(int a) {return a*a;}; 此外,阻止仅受iOS4及更高版本支持. 这两者有什么区别? NSInvocation是给对象的消息(使用选择器),带有可选参数,该消息可以稍后(或现在)在对象外部执行.当前上下文(当然要记住复制,保留或引用的内容,如果移动的话). NSInvocation的优点是您可以有选择地复制/准确引用您所需要的 ..
发布时间:2020-05-19 18:35:38 移动开发

如何从NSOperationQueue中删除/取消NSInvocationOperation?

在上下文中要求提出以下两个问题以维护NSOperationQueue和NSInvocationOperation。 由于我使用此概念下载多个视频,如何在完成下载视频后从NSOperationQueue中删除/释放添加的NSInvocationOperation? 此外,如果我想在正在下载的过程中停止下载特定视频,我该怎么办? 解决方案 如何在完成下载视频后从NSOperat ..
发布时间:2018-11-02 13:32:48 移动开发

- 具有double值的[NSInvocation getReturnValue:]意外地产生0

我正在尝试使用 NSInvocation 调用返回 double 的方法。但我发现它在64位iOS应用程序中不起作用。它适用于OS X,模拟器 - 32位和64位 - iPad 2和带有32位版本的iPad Air。只有iPad Air设备上的64位版本才会出现此问题。 这是演示此问题的代码: NSMethodSignature * signature = [NSString ins ..
发布时间:2018-09-19 13:18:16 移动开发

定义没有基类的Objective-C类 - 编译器警告

我正在使用以下 NSInvocation 代码表 Matt Gallagher 我的Undo / Redo代码。虽然使用最新版本的xCode但我没有收到警告: NSInvocation(ForwardedConstruction).m:28:12:定义了'InvocationProxy'而没有指定基类 “守则”运作良好,但我团队中的其他人(我也是)也不喜欢看警告。我希望Class尽可能的修 ..
发布时间:2018-09-18 09:37:20 移动开发