Swift - Доступ к NSArray в классе Objective C

Добрый вечер,

В настоящее время я пытаюсь создать список всех доступных последовательных портов в Swift, используя библиотеку ORSSerialPort Objective-C. Текущий код ниже, он просто генерирует NSArray, который содержит доступные порты.

import Foundation
import Cocoa

class Serial {

    init() {
    }

    @IBOutlet var serialListPullDown : NSPopUpButton!

    func refreshSerialList(defaultprompt: String) {

        //Initialize ORSSerialPortManager
        let portManager : ORSSerialPortManager = ORSSerialPortManager.sharedSerialPortManager()
        var availablePorts : NSArray = portManager.availablePorts

        //Erase entries from popup field
        serialListPullDown?.removeAllItems()

    }
}

В настоящее время, когда я вставляю точку останова в:

var availablePorts : NSArray = portManager.availablePorts

Когда я работаю через окно отладки ( http://imgur.com/NcXnJig), я вижу, что могу найти искомый путь, в данном случае "/dev/cu.Bluetooth-Modem". Однако эта информация, кажется, скрыта за _path, который должен быть переменной класса ORSSerialPortManager, но я не могу найти ее в исходных файлах. Очевидно, что информация есть, но как мне получить ее в своей функции Swift?

1 ответ

Решение

availablePorts является NSArray из ORSSerialPort объекты. Похоже, вы можете получить прямой доступ к path свойство, чтобы получить данные, которые вы ищете.

var availablePorts : NSArray = portManager.availablePorts
for port in availablePorts as [ORSSerialPort] {
    println("Serial Port: \(port.path)");
}
Другие вопросы по тегам