gpt4 book ai didi

cocoa 选择器问题

转载 作者:行者123 更新时间:2023-12-03 16:19:06 25 4
gpt4 key购买 nike

我有一个关于如何使用具有多个参数的选择器的问题。我需要切换这个:

-(void)openBackupNamed:(NSString *)name

使用这个:

[backupList addItemWithTitle:file action:@selector(openBackupNamed:) keyEquivalent:@""];

我知道这些情况有 withObject: 参数,但我无法在 addItemWithTitle:action:keyEquivalent: 方法中执行此操作,或者我是否缺少东西?

谢谢

最佳答案

在您的情况下,您必须创建一个新的 NSInitation 对象并将其索引 2 参数设置为您的 NSString(保留 0 和 1 索引参数)。

示例:

// Assuming:
NSString *myString = ...;

/* / */

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[self methodSignatureForSelector:@selector(openBackupNamed:)]];
[invocation setSelector:@selector(openBackupNamed:)];
[invocation setTarget:self];
[invocation setArgument:&myString atIndex: 2];

[invocation invoke]; // or use invokeWithTarget: instead of the above setTarget method.

读取 ADC NSInvocation Class Reference

请注意setArgument消息。您必须向其传递参数(字符串)的地址,而不是实际对象本身。

关于 cocoa 选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3076825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com