【问题标题】:Send an array of strings to NSPasteBoard将字符串数组发送到 NSPasteBoard
【发布时间】:2011-03-15 18:19:59
【问题描述】:

将字符串或数字数组发送到粘贴板的最佳方式是什么?

我尝试过使用 [pasteBoard writeObjects:] 但看起来我必须继承 NSArray 才能做到这一点,它需要一个协议。

也许归档和取消归档或其他想法? 谢谢, 何塞。

【问题讨论】:

    标签: cocoa nsarray nspasteboard


    【解决方案1】:

    首先将数组转换为字符串。
    接下来将其写入粘贴板。

    NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:@"First Line",@"Second Line",nil];
    NSPasteboard * pasteBoard = [NSPasteboard generalPasteboard];
    NSString * string = [array componentsJoinedByString: @"\n"];
    [pasteBoard declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
    [pasteBoard setString:string forType:NSStringPboardType];
    

    【讨论】:

      【解决方案2】:

      您可以向 NSString 添加类别以将字符串添加到粘贴板:

      @implementation NSString (PasteboardGoodies)
      - (void) sendToPasteboard
      {
              [[NSPasteboard generalPasteboard] 
                  declareTypes: [NSArray arrayWithObject: NSStringPboardType]
                  owner:nil];
              [[NSPasteboard generalPasteboard]
                  setString: self
                  forType: NSStringPboardType];
      } // sendToPasteboard
      
      @end // PasteboardGoodies
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-10
        • 1970-01-01
        • 2017-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多