2016-09-16 4 views

ответ

89

fileprivate является одним из новых модификаторов доступа Swift 3, который заменяет private в его значении. fileprivate определяет сущность (класс, расширение, свойство, ...) как конфиденциальную для всех вне исходного файла, в которой он объявлен, но доступен для всех объектов в этом исходном файле.

private ограничивает сущность в непосредственном окружении.

+5

Что вы подразумеваете под «прямой вмещающий объем»? Когда я буду использовать только 'private' вместо' fileprivate'? –

+4

охватывающая область - это набор блоков или файлов в этой области, в которой объявлен объект, 'private' предназначен для скрытия данных реализации или сохранения скрытых объектов, которые ограничены владельцем, тогда как' fileprivate' может использоваться для обмена некоторыми общая функциональность между всеми объектами в одном файле. – xhamr

+2

В swift <3.0 «private» работает как «fileprivate» в swift 3.0. Если вы заявляете в swift 2.3, например. два класса с частными переменными, но в том же файле они все еще имели доступ к каждой из «закрытых» отмеченных переменных. – Robert

Смежные вопросы