![]() |
1
277
根据 Apple's NSInvocation class reference :
而且,在 小的 更多细节:
信息的概念是客观C哲学的核心。无论何时调用方法或访问某个对象的变量,都会向其发送消息。
例如,假设您想向数组中添加一个字符串。您通常会发送
现在,假设你想使用
首先,你要准备一个
接下来,您将指定将消息发送到哪个对象:
指定要发送到该对象的消息:
并填写该方法的所有参数:
注意,对象参数必须通过指针传递。谢谢你 Ryan McCuaig 请看 Apple's documentation 了解更多详细信息。
在这一点上,
最后一步将导致消息被发送,实质上是执行
把它想象成发送电子邮件。你打开了一封新邮件(
见 Using NSInvocation 更多信息。 见 Using NSInvocation 如果上述情况不起作用。
见 Registering Undo Operations 了解更多详细信息。 |
![]() |
2
46
下面是一个简单的nsinvocation操作示例:
当被调用时
最后,您将得到这样的打印输出:
当然,目标对象
更新: 如上所述,当您将nsInvocation作为参数传递给nsTimer时,nsTimer会自动保留nsInvocation的所有参数。
如果你不把一个nsinvocation作为一个论点传递给nstimer,并且计划让它停留一段时间,你必须称它为
|
![]() |
3
5
你可以试着用这里的图书馆,这是更好的: http://cocoawithlove.com/2008/03/construct-nsinvocation-for-any-message.html |
![]() |
4
0
我构建了一个使用nsInvocation调用各种方法类型的简单示例。 我在使用obj-msgsend调用多个参数时遇到问题 |