我正在刷新UIResponder的Copy:和Paste:方法。我必须把复制的内容写在一个私人的粘贴板上。
- (void)copyToPrivatePasteboard:(id)sender
{
UIPasteboard *privatePasteboard = [self getPrivatePasteboard];
[privatePasteboard setString:@""];//How to get the copied string to store in pasteboard.
}
我怎样才能把复制的字符串写在粘贴板上。我得到的参数类型为id。如果我把它转换成NSString,它就不合适了,因为是发送方在调用这个方法(UIMenuController)。
如果我理解你是正确的,你想用你Q中的代码替换UIResponder's
-copy:
。(对-paste:
也做同样的事情。)
这是你的问题的答案。但最后有一些评论:
-
如果你快速使用一种方法,self就会指向消息的接收者。在您的情况下,它是
UIResponder
的实例。因此,您必须使用self
获取数据。你怎么能做到这一点?一般情况下不会,因为: -
-copy:
可以包含多个"将我的数据放到粘贴板上"。这是一种方法。那里的代码可以处理其他你不知道的事情。所以你不能那么简单地替代它。 -
因此,
-copy:
通常在子类中被覆盖。(我认为,它在UIResponder
实现中什么都不做。)在UIResponder
中滑动-copy:
不会改变子类实例中的任何行为。你熟悉应答器链的概念吗?
也许有更好的方法来实现你的目标:
-
如果你真的想喝水,因为它很酷,我更喜欢
+generalPasteboard
(UIPasteboard
)。 -
但也许你应该用更多的细节来描述你的最终目标。可能有一种完全不同的方式来达到它。