← XcodeKit

Metin İşlemleri

XcodeKit Dokümantasyonu

Kaynak editöründeki metin içeriğine, seçimlere ve konumlara erişim ve manipülasyon.


XCSourceTextBuffer

Sınıf | XcodeKit

Bir kaynak editöründeki metin içeriğine ve metin seçimlerine erişmek ve bunları değiştirmek için kullandığınız tampon.

class XCSourceTextBuffer

Tampondaki değişiklikler izlenir ve bir komut başarıyla tamamlandığında ve kullanıcı tarafından iptal edilmediğinde işlenir (commit).

Kaynak Metne Erişme

  • var completeBuffer: String

Tamponun tamamının dize temsili.

  • var contentUTI: String

Tampondaki içeriğin Uniform Type Identifier (UTI) değeri.

Kaynak Metni Düzenleme

  • var lines: NSMutableArray

Satır sonları dahil olmak üzere tampondaki metin satırları.

  • var selections: NSMutableArray

Tampondaki metin seçimleri.

Kaynak Editörü Girintisini Yapılandırma

  • var indentationWidth: Int

Tampondaki metnin girintisi için kullanılan boşluk karakteri sayısı.

  • var usesTabsForIndentation: Bool

Girinti için sekmelerin kullanılıp kullanılmadığını gösteren bir Boolean değeri.

  • var tabWidth: Int

Tamponda bir sekme karakteriyle temsil edilen boşluk karakteri sayısı.

completeBuffer

Örnek Özelliği

Tamponun tamamının dize temsili.

var completeBuffer: String { get set }

lines özelliğinde yapılan değişiklikler anında bu özelliğe yansıtılır ve bunun tersi de geçerlidir.

lines

Örnek Özelliği

Satır sonları dahil olmak üzere tampondaki metin satırları.

var lines: NSMutableArray { get }

Tek bir tampon içindeki satır sonları tutarlı olmalıdır. Ek satır sonları içeren bir satır eklemek, diziyi, eklenen her satır ayrı bir eleman olacak şekilde değiştirir. completeBuffer özelliğinde yapılan değişiklikler anında bu özelliğe yansıtılır ve bunun tersi de geçerlidir.

selections

Örnek Özelliği

Tampondaki metin seçimleri.

var selections: NSMutableArray { get }

Boş bir aralık bir ekleme noktasını temsil eder. Tampondaki metin satırlarını değiştirmek, seçimleri eşleşecek şekilde otomatik olarak günceller.

indentationWidth

Örnek Özelliği

Tampondaki metnin girintisi için kullanılan boşluk karakteri sayısı.

var indentationWidth: Int { get }

usesTabsForIndentation

Örnek Özelliği

Girinti için sekmelerin kullanılıp kullanılmadığını gösteren bir Boolean değeri.

var usesTabsForIndentation: Bool { get }

usesTabsForIndentation özelliği, mümkün olduğunda metni girintilemek için boşluk karakterleri yerine sekme karakterlerinin kullanılıp kullanılmayacağını belirler. Girinti genişliği sekme genişliğinin bir katı olmadığında, girintiyi uygun genişliğe doldurmak için boşluk karakterleri kullanılır.

Örneğin, sekme genişliği sekiz, girinti genişliği dört olan ve usesTabsForIndentation özelliği true olarak ayarlanmış bir XCSourceTextBuffer örneğini ele alalım. İlk girinti seviyesi dört boşluk karakteriyle, ikincisi bir sekme karakteriyle, üçüncüsü bir sekme ve ardından dört boşluk karakteriyle, dördüncüsü iki sekme karakteriyle temsil edilir ve bu böyle devam eder.

Her satırın bir öncekinden daha fazla girintili olduğu dört satırlık kaynak kodu gösteren bir şema.

tabWidth

Örnek Özelliği

Tamponda bir sekme karakteriyle temsil edilen boşluk karakteri sayısı.

var tabWidth: Int { get }

XCSourceTextPosition

Yapı | XcodeKit

Bir kaynak editöründe, satır numarası ve sütun numarası ile tanımlanan sıfır tabanlı bir konum.

struct XCSourceTextPosition

Kaynak Metin Konumları Oluşturma

  • init()

Kaynak metnin başında yeni bir kaynak metin konumu oluşturur.

  • init(line: Int, column: Int)

Belirtilen satır ve sütunda bir kaynak metin konumu oluşturur.

Kaynak Metin Konumlarını İnceleme

  • var column: Int

Bir kaynak metin konumunun yatay bileşeni.

  • var line: Int

Bir kaynak metin konumunun dikey bileşeni.

column

Örnek Özelliği

Bir kaynak metin konumunun yatay bileşeni.

var column: Int

line

Örnek Özelliği

Bir kaynak metin konumunun dikey bileşeni.

var line: Int

XCSourceTextRange

Sınıf | XcodeKit

Metin seçmek veya yeni metin için ekleme noktasını belirtmek üzere kullandığınız, bir tampon içindeki yarı açık metin aralığı.

class XCSourceTextRange

Kaynak metin aralıkları yarı açık aralıklardır. Sonuç olarak, kaynak metin aralıkları başlangıç konumundaki karakteri içerir ancak bitiş konumundaki karakteri hariç tutar.

Eşit başlangıç ve bitiş konumlarına sahip bir aralık, ekleme noktası gibi tampon içindeki bir noktayı belirtmek için kullanılabilir. start ve end konumu, bunları kendi kodunuzda hazırlarken düzensiz olabilir, ancak bir XCSourceTextRange örneğini diğer yöntemlere iletmeden önce düzgün bir şekilde sıralanmalıdır.

Kaynak Metin Aralıkları Oluşturma

  • init(start: XCSourceTextPosition, end: XCSourceTextPosition)

Başlangıç ve bitiş konumları ile tanımlanan yeni bir kaynak metin aralığı oluşturur.

Kaynak Metin Aralıklarının Sınırlarını Alma

  • var start: XCSourceTextPosition

Aralığın başlangıç konumu.

  • var end: XCSourceTextPosition

Aralığın bitiş konumu.