swift - 访问控制

当你在swift中编写一个类时,默认其中任何属性,方法都能被外部访问的。有的时候我们不希望属性或方法被外部访问,希望私有化。

在swift中有三个关键字

public : 公共访问,允许任何源文件中使用其定义模块。如你使用XCTest测试某个类时,就需要在类前添加public。

internal :swift默认访问控制,允许在项目内访问。

private : 私人访问,只能在当前类中访问。如果是在class前添加,则只能是当前文件访问。

举例说明:

public class SomePublicClass {          // 明确 public class
    public var somePublicProperty = 0    // 明确 public class 成员
    var someInternalProperty = 0         // 默认 internal class 成员
    private func somePrivateMethod() {}  // 明确 private class 成员
}

class SomeInternalClass {               // 默认 internal class
    var someInternalProperty = 0         // 默认 internal class 成员
    private func somePrivateMethod() {}  // 明确 private class 成员
}

private class SomePrivateClass {        // 明确 private class
    var somePrivateProperty = 0          // 默认 private class 成员
    func somePrivateMethod() {}          // 默认 private class 成员
}

时间: 2025-01-18 13:50:26

swift - 访问控制的相关文章

[转]Swift访问控制

本章节由CocoaChina翻译小组成员 JaceFu (个人博客)翻译自苹果的官方文档:The Swift Programming Language--Language Guide--Access Control.校对:ChildhoodAndy( 博客 ),敬请勘误. 苹果在发布了Xcode 6 Bate 4后为Swift添加了新的特性--访问控制(Access Control),并且更新了The Swift Programming Language文档,我抽空把这篇文档翻译了一下,下面让我

Swift - 访问控制(private,internal,public)

在Swift语言中,访问修饰符有三种,分别为private,internal和public.同时,Swift对于访问权限的控制,不是基于类的,而是基于文件的.其区别如下: 1,private private访问级别所修饰的属性或者方法只能在当前的Swift源文件里可以访问. 2,internal(默认访问级别,internal修饰符可写可不写) internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问. 如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,

Swift 教程

Swift 教程Swift 是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序.Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制.Swift 在 Mac OS 和 iOS 平台可以和 Object-C 使用相同的运行环境.2015年6月8日,苹果于WWDC 2015上宣布,Swift将开放源代码,包括编译器和标准库.谁适合阅读本教程?本教程适合想从事移动端(iph

Swift学习之访问控制详解

本文和大家分享的主要是swift 中访问控制相关内容,一起来看看吧,希望对大家 学习swift有所帮助. 访问控制对访问你的其他代码源文件和模块部分进行了约束.这个特性允许你隐藏你的代码实现,并且指定通过其可以访问和使用该代码的优选接口. class , structure  和  enumeration  都可以指定访问级别,当然, property , method , initializer  和 属于这里类型的  subscript . protocol 可以限制到某个上下文,全局变量,

Swift 3必看:新的访问控制fileprivate和open

在swift 3中新增加了两中访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的swift中的 private其实并不是真正的私有,如果一个变量定义为private,在同一个文件中的其他类依然是可以访问到的.这个场景在使用extension的时候很明显. class User { private var name = "private" } extension User{ var accessPrivate: St

Swift学习之 访问控制

访问控制可以限定你在源文件或模块中访问代码的级别,也就是说可以控制哪些代码你可以访问,哪些代码你不能访问.这个特性可以让我们隐藏功能实现的一些细节,并且可以明确的指定我们提供给其他人的接口中哪些部分是他们可以使用的,哪些是他们看不到的. 你可以明确的给类.结构体.枚举.设置访问级别,也可以给属性.函数.初始化方法.基本类型.下标索引等设置访问级别.协议也可以被限定在一定的范围内使用,包括协议里的全局常量.变量和函数. 在提供了不同访问级别的同时,Swift 并没有规定我们要在任何时候都要在代码中

Swift的访问控制讲解

Swift中访问修饰符总共有5种,分别为fileprivate,private,internal,public和open,其中,fileprivate以及open是Swift 3新添加的.因为过去的Swift对于访问权限的控制,不是基于类的,而是基于文件的,这样会有问题,所以在Swift 3中增加了两个对原本的private,public进行细分. 1.private与fileprivate fileprivate是在Swift 3之后添加的,将原本的private进行细分 在引入Swift 3

Swift学习笔记7--访问控制

在Swift语言中,访问修饰符有三种,分别为private,internal和public.同时,Swift对于访问权限的控制,不是基于类的,而是基于文件的.其区别如下: 1,private private访问级别所修饰的属性或者方法只能在当前的Swift源文件里可以访问. 2,internal(默认访问级别,internal修饰符可写可不写) internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问. 如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,

[转]从Go、Swift语言出发

Google于2009年第一次提出了Go的构思,Facebook在去年春天引入了Hack,随后不久Apple也发布了其Swift语言. 在战争中,胜利者写历史书:在科技中,赢的公司都在写编程语言.互联是建立在开发标准和代码之上,但是社交网络和云计算领域受企业巨头控制,并且它们开始把自己独一无二的印记烙在数字科技上——这是必然的,就像征服者威廉和他的诺曼人一样,大量新的词汇加入到英语中.他带来许多新事物,如陪审制度,这些都影响着当地的法律和语言的方式. 可以确定的是,新的语言给予程序员一些有用的支