Convertir CFString à NSString - Swift

Je suis en train d'écrire un programme qui va scanner de ports série disponibles et de les présenter dans un menu déroulant. Pourquoi je ne peux pas prendre le CFString directement à partir de la IORegistryEntryCreateCFProperty() la fonction et ajouter à ce menu via la chaîne d'interpolation dans la ligne suivante? Pour une raison quelconque, mon la déclaration de la variable est rempli avec l'erreur:

"NSString n'est pas un sous-type de CFString".

import Foundation

import Cocoa

import IOKit
import IOKit.serial


@objc class Serial {

    init() {
    }

    @IBOutlet var serialListPullDown : NSPopUpButton!

    func refreshSerialList(defaultprompt: String) {


        let masterPort: mach_port_t = kIOMasterPortDefault
        let classesToMatch: CFDictionary =     IOServiceMatching(kIOSerialBSDServiceValue).takeUnretainedValue()
        var matchingServices: io_iterator_t = 0

        //remove everything from the pull down list
        serialListPullDown?.removeAllItems()

        //ask for all the serial ports
        let kernResult = IOServiceGetMatchingServices(masterPort, classesToMatch, &matchingServices)
        if kernResult == KERN_SUCCESS {
            //success
            while (io_object_t() == IOIteratorNext(matchingServices)) {
                var serialport = IORegistryEntryCreateCFProperty(io_object_t(), kIOCalloutDeviceKey, kCFAllocatorDefault, 0)

                serialListPullDown?.addItemWithTitle("\(serialport)")
            }
        }
        else {
            //error
        }

    }
}

OriginalL'auteur user3185748 | 2014-08-17