我正在调整复制:和粘贴:UIResponder的方法。 我必须将复制的内容写入私人粘贴板。
- (void)copyToPrivatePasteboard:(id)sender
{
UIPasteboard *privatePasteboard = [self getPrivatePasteboard];
[privatePasteboard setString:@""];//How to get the copied string to store in pasteboard.
}
如何将复制的字符串写入粘贴板。我得到的参数是id类型。 如果我将它转换为NSString,它将是不正确的,因为它是发送者正在调用此方法(UIMenuController)。
答案 0 :(得分:0)
如果我理解你是正确的,那么你想用{Q}中的代码替换UIResponder's
-copy:
。(并使用-paste:
做同样的事情。)
这是你问答的答案。但最后有一些评论:
如果您调整方法,self会指向消息的接收者。在您的情况下,它是UIResponder
的实例。因此,您必须使用self
获取数据。你怎么能这样做?不一般,因为:
-copy:
可以包含“将我的数据放入粘贴板”。这是一种方法。那里的代码可以处理你不能不知道的其他事情。所以你不能轻易替代它。
由于此-copy:
通常会在子类中被覆盖。 (我认为,它在UIResponder
实现中没有任何作用。)-copy:
中的Swizzling UIResponder
不会改变子类实例中的任何行为。您是否熟悉responder chain?
可能有更好的方法来实现您的目标:
如果你真的想做一些调整,因为它很酷,我更希望+generalPasteboard
(UIPasteboard
)。
但是你应该用更多细节描述你的最终目标。可能有一种完全不同的方式来实现它。