iOS 13.0에서 'scanLocation'을 해결하는 방법이 더 이상 사용되지 않습니다


10

스캐너를 사용하려고 할 때 iOS 13.0에서 'scanLocation'이 더 이상 사용되지 않는다는 경고가 표시됩니다. 다음 위치에서 스캔 할 수 있기 때문에 scanLocation 대신에 무엇을 사용해야하는지 궁금해하는 문자열 스캔이 필수적입니다. 스캐너에 대한 Apple의 설명서 에는 더 이상 사용되지 않는 기능이 언급되어 있지 않으며 scanLocation을 대체 한 사항을 제안 할뿐입니다.

더 이상 사용되지 않는 scanLocation 사용 예 :

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

답변:


9

tl; dr- Swift에서 사용할 때 currentIndex대신 scanLocation사용하십시오 Scanner.

가난한 문서에 대해서는 애플에 부끄러운 줄 아세요. 그러나 Objective-C 버전의 스캐너에 대한 NSScanner.h 파일의 정보를 기반으로 Swift에서만이 scanLocation특성은 더 이상 사용되지 않으며 특성으로 대체되었습니다 currentIndex.


2

@rmaddy는 이미 정답을 제공했지만 currentIndex1에 추가하는 것과 다르기 때문에 증가하는 방법을 보여줍니다 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)
}

어떻게 다시 '0'으로 재설정 하시겠습니까? 예. scanner.scanLocation = 0
GameDev

당신은하지 않습니다. 당신은 방금의 새로운 인스턴스 생성Scanner
척 Krutsinger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.