gpt4 book ai didi

objective-c - 我如何将文本字段单元格(在 cocoa 中)中的文本复制到 NSPasteboard?

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

我在 cocoa 中有一个文本字段单元格和一个按钮。我想通过单击按钮复制文本字段中的文本。

在剪贴板.h

 #import <Cocoa/Cocoa.h>


@interface clipboard:NSObject {
IBOutlet id but1;
IBOutlet id numf2_1;
NSPasteboard *pasteBoard;
}
- (BOOL) writeToPasteBoard:(NSString *)stringToWrite;
- (NSString *) readFromPasteBoard;
- (id) init;
//- (IBAction) insert_cb:(id)sender;
@end

在剪贴板.m

 #import "clipboard.h"
//@implementation clipboard
@implementation clipboard
//- (IBAction) insert_cb:(id)sender{

- (id) init
{
[super init];
pasteBoard = [NSPasteboard generalPasteboard];
return self;
}

- (BOOL) writeToPasteBoard:(NSString *)stringToWrite
{

[pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
return [pasteBoard setString:stringToWrite forType:NSStringPboardType];
}

- (NSString *) readFromPasteBoard
{
return [pasteBoard stringForType:NSStringPboardType];
}
@end

我怎样才能改变它来做到这一点?

最佳答案

您实际上从未向自己发送过 writeToPasteboard: 消息,因此您需要这样做。您需要向文本字段询问其字符串值,并将其作为参数传递给 writeToPasteboard: 消息。

更好的是,只需将按钮连接到第一个响应者的 copy: 操作即可。文本字段响应此消息,因此只要它是第一个响应者(或至少在响应者链上足够高),操作消息就会到达该字段,并且该字段将自行复制文本。请参阅Cocoa Event-Handling Guide了解更多信息。

这就是主菜单中的“复制”菜单项的工作原理,并且您无需编写任何代码即可实现菜单项或按钮。

关于objective-c - 我如何将文本字段单元格(在 cocoa 中)中的文本复制到 NSPasteboard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3395506/

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