Ana içeriğe geç

İşlem Eşlemesini Görüntüleme

Fiziksel cihaz işlemleri ile atanmış cihaz işlevleri arasındaki eşlemeyi okuyun.

Ön Koşullar

  • Cihaz bağlı ve hazırdır
  • Cihaz DevicePhysicalOperationsAPI protokolünü destekler

API Referansı

Framework

AIBuds.xcframework

İçe Aktarma

Swift
import AIBuds

Protokol

Eşleme, DevicePhysicalOperationsAPI protokolünün bir özelliği olarak sunulur.

Swift
/// The protocol for device physical operations API.
protocol DevicePhysicalOperationsAPI: DeviceAPI {
    /// Physical operations with functions mapping
    /// - Returns: A dictionary mapping physical operation identifiers to function identifiers.
    ///
    /// The dictionary is structured as follows:
    /// - Keys: Physical operation identifiers. Defined in ``DeviceOperation``.
    /// - Values: Function identifiers. Defined in ``DeviceFunction``.
    var physicalOperationsMapping: [NSNumber: NSNumber]? { get }
}

Özellikler

ÖzellikTürAçıklama
physicalOperationsMapping[NSNumber: NSNumber]?Her DeviceOperation raw değerini bir DeviceFunction raw değeriyle eşler.

Dönüş Değeri

Bu, eşzamansız sorgu yöntemi değil; isteğe bağlı ve salt okunur bir özelliktir.

Kullanım Örnekleri

Swift
import AIBuds

guard let device = device as? DevicePhysicalOperationsAPI else {
    print("Device does not support physical-operation mapping")
    return
}

guard let mapping = device.physicalOperationsMapping else {
    print("Mapping is unavailable")
    return
}

for (operationValue, functionValue) in mapping {
    let operation = DeviceOperation(rawValue: operationValue.intValue)
    let function = DeviceFunction(rawValue: functionValue.intValue)
    print("\(String(describing: operation)) → \(String(describing: function))")
}

Hata Yönetimi

Özelliğin completion handler'ı yoktur. Desteklenmeyen protokolü, nil eşlemeyi ve bilinen enum case'lerine dönüşmeyen raw değerleri işleyin.

En İyi Uygulamalar

  1. Değerleri Enum Raw Değerleri Olarak İşleyin: Anahtarları ve değerleri DeviceOperation ve DeviceFunction üzerinden dönüştürün.
  2. Eksik Kayıtları Varsaymayın: Eşlemede bulunmayan bir işlem destekleniyor sayılmaz.
  3. Atamadan Sonra Arayüzü Yenileyin: Cihaz özelliği güncelliyorsa başarılı atamadan sonra yeniden okuyun.

Notlar

  • SDK Demo'su bu özelliği doğrudan okur ve gösterim için kayıtları işlem raw değerine göre sıralar.
  • Özellik bir Result callback'i veya KeyMapping modeli kullanmaz.