gpt4 book ai didi

cocoa - 当 cocoa 方法需要选择器作为参数时,我如何在 ruby​​ 中表达它?

转载 作者:行者123 更新时间:2023-12-03 17:36:07 27 4
gpt4 key购买 nike

this cocoa 中的工作表编程教程,我被告知调用以下方法:

[[alert beginSheetModalForWindow:[searchField window] 
modalDelegate:self
didEndSelector:@selector(alertDidEnd:returnCode:contextInfo:)
contextInfo:nil];

我用 ruby​​ 编写如下,

alert.beginSheetModalForWindow(self.window, 
modalDelegate:self,
didEndSelector: :alertDidEnd,
contextInfo:nil)

当然,didEndSelector部分是错误的。后来在我的代码中,我有一个方法alertDidEnd,它将 returnCode 和 contextInfo 作为参数。当我查看 self.methods 时,我注意到该方法被列为alertDidEnd:returnCode:contextInfo: 。在上面的示例代码中,“@”用于标记选择器。这是在 Macruby 中使用符号完成的,但在这种情况下,符号将包含冒号,这是不允许的。我应该如何将该方法名称表示为符号?我无法自己找到此信息,我应该在哪里查找却没有查找?

谢谢!

最佳答案

MacRuby docs 中所述,符号与选择器桥接。所以你会这样做:

alert.beginSheetModalForWindow(self.window, 
modalDelegate:self,
didEndSelector: :'alertDidEnd:returnCode:contextInfo:',
contextInfo:nil)

关于cocoa - 当 cocoa 方法需要选择器作为参数时,我如何在 ruby​​ 中表达它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6740374/

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