Избыточное соответствие CLLocationCoordinate2D протоколу «декодируемый»/«кодируемый».IOS

Программируем под IOS
Ответить
Anonymous
 Избыточное соответствие CLLocationCoordinate2D протоколу «декодируемый»/«кодируемый».

Сообщение Anonymous »

Я пишу о внутренней среде, использующей CoreLocation. Не спрашивайте меня, почему, но у меня есть требование сделать CLLocation кодируемым. Итак, я придумал структуру

Код: Выделить всё

struct CLLocationEncodingStruct: Codable {
let coordinate: CLLocationCoordinate2D
let altitude: CLLocationDistance
let horizontalAccuracy: CLLocationAccuracy
let verticalAccuracy: CLLocationAccuracy
let speed: CLLocationSpeed
let course: CLLocationDirection
let timestamp: Date

public init(with location: CLLocation) {
coordinate = location.coordinate
altitude = location.altitude
horizontalAccuracy = location.horizontalAccuracy
verticalAccuracy = location.verticalAccuracy
speed = location.speed
course = location.course
timestamp = location.timestamp
}

var location: CLLocation {
return CLLocation(coordinate: coordinate, altitude: altitude, horizontalAccuracy: horizontalAccuracy, verticalAccuracy: verticalAccuracy, course: course, speed: speed, timestamp: timestamp)
}
}
Тогда я соответствую Codable в расширении CLLocation. Помещение данных в эту структуру или извлечение данных из нее. Чтобы это работало, мне также пришлось привести CLLocationCoordinate2D в соответствие с Codable. Я сделал это, написав следующее очень сложное расширение

Код: Выделить всё

extenstion CLLocationCoordinate2D: Codable {}
Теперь я хотел сделать все правильно для разнообразия, поэтому я хотел начать писать модульные тесты. Проблема в том, что мое расширение CLLocationCoordinate2D должно быть частью обеих целей: модульного теста и самой платформы. К сожалению, это не компилируется. Это не удается с

Код: Выделить всё

Redundant conformance of 'CLLocationCoordinate2D' to protocol 'Encodable'
Избыточное соответствие CLLocationCoordinate2D протоколу Decodable

Указывает на то, что CLLocationCoordinate2D уже соответствует протоколу в той же строке кода. Однако построение цели, которая зависит от указанных фреймворков, работает отлично. Есть ли у вас какие-нибудь идеи, как это исправить?

Лучше,

геру

Подробнее здесь: https://stackoverflow.com/questions/533 ... able-encod
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»