İOS 13.0'da 'scanLocation' çözümlemesi kullanımdan kaldırıldı


10

Tarayıcı kullanmaya çalıştığımda iOS 13.0'da 'scanLocation' öğesinin kullanımdan kaldırıldığı uyarısını alıyorum. Bir sonraki konumdan tarama yapabilmek, bir String'i taramak için oldukça temel olduğundan, scanLocation yerine ne kullanılacağını merak ediyor. Apple'ın Tarayıcı dokümanları , scanLocation'ın yerini ne aldığını öne sürmek yerine, kullanımdan kaldırılmasından bile bahsetmiyor.

Kullanımdan kaldırılan scanLocation kullanımına örnek:

while !scanner.isAtEnd {
    print(scanner.scanUpToCharacters(from: brackets))
    let block = scanner.string[scanner.currentIndex...]
    print(block)
    scanner.scanLocation = scanner.scanLocation + 1
}

Yanıtlar:


9

tl, dr - kullanım currentIndexyerine scanLocationkullanıldığında ScannerSwift.

Kötü belgeler için Apple'a yazıklar olsun. Ancak Tarayıcı'nın Objective-C sürümü için NSScanner.h dosyasındaki bilgilere dayanarak, yalnızca Swift'te, scanLocationmülk kullanımdan kaldırılmış ve onun yerine currentIndexmülk kullanılmıştır.


2

@rmaddy zaten doğru cevabı verdi, ancak bu currentIndexsadece 1 eklemekten farklı olduğu için nasıl artırılacağını gösterir scanLocation.

while !scanner.isAtEnd {
    print(scanner.scanUpToCharacters(from: brackets))
    let block = scanner.string[scanner.currentIndex...]
    print(block)
    scanner.currentIndex = scanner.string.index(after: scanner.currentIndex)
}

nasıl tekrar '0' a sıfırlarsınız? Örneğin. scanner.scanLocation = 0
GameDev

Yapmazsın. Sadece yeni bir örneği oluşturuyorsunuzScanner
Chuck Krutsinger
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.