"Ожидаемое выражение в пути ключа Swift" Ошибка при рефакторинге кода с расширениями
Я пытался рефакторинг кода, поблагодарив функции и добавив их в отдельный файл extension
из ViewController
В этом расширении есть функция, которая добавляет gesture recognizers
к некоторым представлениям, которые имеют ссылки на функции, которые я поместил в другое расширение файла того же ViewController
, При сборке я получаю эту ошибку "Ожидаемое выражение в пути ключа Swift"
Что вызывает эту ошибку?
0 ответов
Это неясная ошибка, чтобы быть уверенным. Я получил эту ошибку, когда случайно оставил обратную косую черту после скобки в моем объекте init:
init(for note: Note, atAnchor anchor: ARAnchor) {\
let billboardNode = lote.type.basicNode
self.node = billboardNode
self.text = lote.description ?? "[No Text]"
self.type = lote.type
addText()
}
Удаление обратной косой черты исправило ошибку.
Возможно, у вас есть опечатка, например:
\//
// MyClass.swift
// yyy
//
// Created by xxx on 4/25/19.
// Copyright © 2019 xxx. All rights reserved.
//
import Foundation
class MyClass {
}
В этом случае я случайно написал "\" в начале.
Это сообщение об ошибке является прямой ошибкой, когда синтаксический анализатор ожидает keyPath
с учетом использования обратной косой черты (при условии, что это проблема, вызывающая проблему, учитывая, что был принят предыдущий ответ от @Edmund Holderbaum).
Отрывок из: Apple Inc. "Язык программирования Swift (Swift 5.0)".
Key-Path Expression. Выражение key-path ссылается на свойство или индекс нижнего уровня. Вы используете выражения пути ключа в задачах динамического программирования, таких как наблюдение значения ключа. Они имеют следующую форму:
\ type name.path
Кажется, в грамматике Swift мало мест, где используется обратный слеш, кроме как при интерполяции строк (interpolated-text-item) или в экранирующей последовательности (escape-последовательности).
из резюме грамматики - лексическая структура
"Key-path-expression → \ type opt . ключ-путь-компонента"
Посмотрите на этот отличный пост, чтобы узнать больше о keyPaths
в Swift: https://www.swiftbysundell.com/posts/the-power-of-key-paths-in-swift