代码之家  ›  专栏  ›  技术社区  ›  Jeffrey Kern

在Cocoa中查找插入的CD的名称

  •  0
  • Jeffrey Kern  · 技术社区  · 15 年前

    我有一个书签,它描述了如何做到这一点的过程—在OSX中查找已装入CD的名称—但我在重新格式化Mac时删除了书签P

    1. 访问NSWorkspace
    2. 从“mountedRemoveableMedia”获取已装入媒体路径的数组
    3. 运行已装入的媒体路径数组,找到一个包含目标磁盘名称的路径

    不管怎样,这就是我想出的一个可能的解决办法。其他人对可可这方面有什么想法/知识吗?建议:)

    编辑: 我在下面编写了这个代码,但不起作用。它创建了一个NSCFArray,其中包含nscfstring,我读过,不应该这样做。

     NSArray *mountedItems = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
    
     int count = [mountedItems count];
     int i = 0;
    
        for (i = 0; i < count; i++) {
             //line is not printing.  contains NSCFArray and NSCFStrings
                [NSLog print:[[mountedItems objectAtIndex:i] stringValue]];
     }
    
    1 回复  |  直到 15 年前
        1
  •  1
  •   Jeffrey Kern    15 年前

    好吧,所以我是个白痴。

    [[NSWorkspace sharedWorkspace] checkForRemovableMedia];
    NSArray *mountedItems = [[NSWorkspace sharedWorkspace] mountedRemovableMedia];
    
    NSUInteger count = [mountedItems count];
    NSUInteger i = 0;
    for (i = 0; i < count; i++) {
        NSString *tempString = [mountedItems objectAtIndex:i];
        NSLog(@"%@",tempString);
    }
    

    我不仅错误地使用了NSLog,而且完全没有意识到对字符串调用“stringValue”可能是多余的。以及导致代码中断的原因:P

    现在可以了;我还添加了“checkForRemovableMedia”作为额外的预防措施。