6

此代码应将字符串复制到 generalPasteboard,作为 [[UIPasteboard generalPasteboard] string] 对象,但该方法会导致程序终止。

- (void)copyResultToPasteboard {
    NSString *message = self.resultTextView.text;
    [UIPasteboard generalPasteboard].string = message;
    [message release];
}

我认为这与格式有关,如果将消息设置为文字字符串,则认为该方法有效,但 resultTextView.text 只是一个 NSString ...我不完全理解,有人可以帮忙吗?

4

2 回答 2

3

您确定resultTextView.text返回的是后备存储的副本,而不是实际NSString*用于存储数据的副本吗?查看 Apple 文档,它似乎只是返回内部指针(未保留)。对类使用的字符串调用 releaseUITextView可能会导致这种行为。

于 2009-09-07T13:05:52.617 回答
3

您首先要发送-release到一个您没有发送的对象(或者至少,从 snippit 中您似乎没有发送该对象)-retain+alloc或者 get through-copy另一个对象。

于 2009-09-07T13:13:54.860 回答