_read
является частью истории Swift Ownership, которая находится в разработке уже некоторое время. Так как read
(вероятное имя после прохождения Swift Evolution) является довольно продвинутой концепцией языка, вы, вероятно, захотите прочитать хотя бы там, где это описано в Манифесте владения здесь , чтобы получить более полную информацию. ответ, чем я приведу здесь.
Это альтернатива get
для подписчиков, которая позволяет вам yield
значение вместо return
значение. Это важно для перемещения только типов, потому что они не могут быть скопированы (это является их полной целью), что происходит, когда вы return
значение. Используя read
, вы можете, например, иметь Array
типов только для перемещения и по-прежнему использовать значения в нем, не переходя во владение ими, перемещая их. Самый простой (и не технически правильный, поскольку это сопрограмма) способ концептуально подумать о нем заключается в том, что вы получаете указатель на объект, который read
yields
.
Брат или сестра read
есть modify
, который в настоящее время находится в фазе основного тона Swift Evolution здесь , что также может дать вам некоторое полезное представление о том, что такое read
, так как это также сопрограмма.
Так что для теперь, если Xcode дает вам _read
для реализации, просто замените его на get
, поскольку это ошибка, поскольку она еще не является официальной частью языка.