← XcodeKit

Komut Yönetimi

XcodeKit Dokümantasyonu

XcodeKit uzantısındaki komutları tanımlama ve işleme.


XCSourceEditorCommand

Protokol | XcodeKit

Bir kaynak editörü uzantısında komut çağrılarını işlemek için uyguladığınız protokol.

protocol XCSourceEditorCommand : NSObjectProtocol

Komut sınıfları ve komutlar arasında birebir eşleme gerekmez; çalışma zamanında çağrılarının commandIdentifier özelliğini kontrol ederek birden fazla komut tek bir sınıf tarafından işlenebilir.

Editör Komutlarını Tanımlama

  • struct XCSourceEditorCommandDefinitionKey

Bir kaynak editörü komutunu tanımlayan sözlükteki bir anahtar.

Editör Komutlarını İşleme

  • func perform(with: XCSourceEditorCommandInvocation, completionHandler: ((any Error)?) -> Void)

Bir çağrıdaki bilgileri kullanarak komutla ilişkili eylemi gerçekleştirir.

perform(with:completionHandler:)

Örnek Yöntemi

Bir çağrıdaki bilgileri kullanarak komutla ilişkili eylemi gerçekleştirir.

func perform(with invocation: XCSourceEditorCommandInvocation, completionHandler: @escaping @Sendable ((any Error)?) -> Void)

func perform(with invocation: XCSourceEditorCommandInvocation) async throws

Xcode, koda komutu gerçekleştirmeyi bitirmek için çağırması gereken bir tamamlama işleyicisi (completion handler) iletir; başarı durumunda nil, başarısızlık durumunda bir hata iletilir. İptal edilen bir komut yine de tamamlama işleyicisini çağırmalı ve nil iletmelidir.

İptal işleyicisinin çağrıldığı iş parçacığı veya kuyruk hakkında hiçbir garanti yoktur.

Parametreler

  • invocation: Çağrılacak komutun çağrısı.
  • completionHandler: Komut bittiğinde yürütülecek bir blok.

XCSourceEditorCommandDefinitionKey

Yapı

Bir kaynak editörü komutunu tanımlayan sözlükteki bir anahtar.

struct XCSourceEditorCommandDefinitionKey

Kaynak editörü komutları, bir Xcode Kaynak Editörü Uzantısının Info.plist dosyasındaki NSExtensionAttributes anahtarının altındaki XCSourceEditorCommandDefinitions anahtarı altında bir sözlük dizisi aracılığıyla tanımlanır. Komutlar ayrıca bir uzantının XCSourceEditorExtension protokolüne uygunluğundaki commandDefinitions özelliği aracılığıyla da belirtilebilir.

Bir Komut Tanım Sözlüğünü Doldurma

  • static let classNameKey: XCSourceEditorCommandDefinitionKey

Özniteliklerinde kaynak editörü komutunun sınıfı.

  • static let identifierKey: XCSourceEditorCommandDefinitionKey

Özniteliklerinde kaynak editörü komutunun tanımlayıcısı.

  • static let nameKey: XCSourceEditorCommandDefinitionKey

Özniteliklerinde kaynak editörü komutunun adı.

Ham Bir Dize Kullanarak Anahtar Oluşturma

  • init(rawValue: String)

Belirttiğiniz dize değerini kullanarak bir kaynak editörü komutu için anahtarı oluşturur.

Tip Özellikleri

  • static let systemSymbolNameKey: XCSourceEditorCommandDefinitionKey

Sistemden komutla ilişkili bir SF Sembolü.


XCSourceEditorCommandInvocation

Sınıf | XcodeKit

Uzantınıza gönderilen komutu tanımlayan ve aktif kaynak editörünün içeriğini sağlayan nesne.

class XCSourceEditorCommandInvocation

Komutlara Yanıt Verme

  • var buffer: XCSourceTextBuffer

Komutun üzerinde işlem yapabileceği kaynak metin tamponu.

  • var commandIdentifier: String

Kullanıcının çağırdığı komutun tanımlayıcısı.

İptal Edilen Komutlara Yanıt Verme

  • var cancellationHandler: () -> Void

Çağrının kullanıcı tarafından iptal edildiğini belirtmek üzere Xcode tarafından çağrılacak bir işleyici.

buffer

Örnek Özelliği

Komutun üzerinde işlem yapabileceği kaynak metin tamponu.

var buffer: XCSourceTextBuffer { get }

commandIdentifier

Örnek Özelliği

Kullanıcının çağırdığı komutun tanımlayıcısı.

var commandIdentifier: String { get }

cancellationHandler

Örnek Özelliği

Çağrının kullanıcı tarafından iptal edildiğini belirtmek üzere Xcode tarafından çağrılacak bir işleyici.

var cancellationHandler: () -> Void { get set }

İptal işleyicisinin çağrıldığı iş parçacığı veya kuyruk hakkında hiçbir garanti yoktur. Bir iptal alındıktan sonra, komutun completionHandler'ı çağrılır ve hiçbir değişiklik uygulanmaz.