Swift访问控制
参考博客原文链接
http://www.jianshu.com/p/604305a61e57
http://www.hangge.com/blog/cache/detail_524.html
我的总结
背景介绍
在swift 3中新增加了两种访问控制权限 fileprivate和 open(共5种 open,public,internal,fileprivate,private)。
五种控制权限区分
1. private
private访问级别所修饰的属性或者方法只能在当前类里访问。
2. fileprivate
fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问
3. internal(默认访问级别,internal修饰符可写可不写)
internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。
如果是App代码,也是在整个App代码,也是在整个App内部可以访问。
4. public
可以被任何人访问。但其他module中不可以被override和继承,而在module内可以被override和继承。
5. open
可以被任何人使用,包括override和继承。
五种控制权限从高到低排序如下:
open > public > interal > fileprivate > private
Swift访问控制的更多相关文章
- Swift - 访问控制(private,internal,public)
在Swift语言中,访问修饰符有三种,分别为private,internal和public.同时,Swift对于访问权限的控制,不是基于类的,而是基于文件的.其区别如下: 1,private priv ...
- Swift 访问控制
1.private private访问级别所修饰的属性或者方法只能在当前类里访问. 2.fileprivate fileprivate访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问. ...
- Swift 3 中的访问控制 open public internal fileprivate private
Swift 3必看:新的访问控制fileprivate和open http://www.jianshu.com/p/604305a61e57 浅谈 Swift 3 中的访问控制 https://mai ...
- swift学习笔记之-访问控制
//访问控制 import UIKit /*访问控制(Access Control) 1.访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别.这个特性可以让我们隐藏代码的一些实现细节,并且可 ...
- Swift 3必看:新的访问控制fileprivate和open
在swift 3中新增加了两中访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的swift中的 private其实并不是真正的私 ...
- Swift 3中新的访问控制关键字fileprivate和open
在Swift 3中除去原有的3个访问控制关键字private,public,internal,又添加了2个关键字fileprivate和open 它们可以看成是对private和public的进一步细 ...
- Swift基础之:新的访问控制fileprivate和open
(转载的,暂时没有研究过这类语句,有空看看) 在swift 3中新增加了两种访问控制权限 fileprivate和 open.下面将对这两种新增访问控制做详细介绍. fileprivate 在原有的s ...
- swift 学习- 27 -- 访问控制
// 访问控制 可以限定其源文件 或模块中的代码对你的代码的访问级别, 这个特性可以让我们隐藏代码的一些实现细节, 并且可以为其他人可以访问和使用的代码提供接口 // 你可以明确地给某个类型 (类, ...
- 谈Swift中的访问控制
访问控制(Access Control) 访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别.这个特性可以让我们隐藏代码的一些实现细节,并且可以指定一些代码和访问和使用的优先接口. 你可以明 ...
随机推荐
- Hibernate 表连接hql语句
现有两个表 user 表 和 VIPcard 表 UserVo user VIPcardVo 中含有 UserVo user select v from VIPCardVo v left join ...
- nginx学习之简化安装篇(一)
环境:CentOS 6.5 1. 安装依赖环境 [root@localhost ~]# yum install pcre-devel zlib-devel openssl-devel -y 2. 安装 ...
- CF1060 E-Sergey and Subway
题目戳这里 一句话题意 一棵树,任意相隔一个点的两个点连一条新边(原边留下),问所有点对的距离之和. Solution 本来看见是黑题有点怕,但仔细一想也没有那么难. 先处理出每个点的深度(dep)和 ...
- SMARTFORMS 字段格式化设置
[转自http://lz357502668.blog.163.com/blog/static/16496743201273153434564/] 在SMARTFORM 输出的时候有时候会遇到数字类型无 ...
- rails json
respond_to do |f| f.json { render :json => {:a => b, :c => d}.to_json } } end
- 关于scrollLeft的获取在不同浏览器或相同浏览器的不同版本下的获取
chrome61向w3c规则靠拢,document.body.scrollLeft获取的值一直为0,需要使用document.documentElement.scrollLeft(或document. ...
- 牛客练习赛13 A 幸运数字Ⅰ 【暴力】
题目链接 https://www.nowcoder.com/acm/contest/70/A 思路 暴力每一个子串 用 MAP 标记一下 然后 最后 遍历一遍 MAP 找出 出现次数最多 并且 字典序 ...
- iOS UILabel 省略号 不变色 问题处理
在我们公司 应用 4.1版本 我发现一个很有趣的问题 , 当我修改 label 的 textColor (默认单行情况)为黑色之外的颜色 省略号依然为黑色, 这个在iOS 7 iOS8.1 i ...
- css3图片过滤效果
在线演示 本地下载
- new的越界访问
今天敲代码的时候发现了一个BUG和大家分享一下,希望大家下次不要犯和我一样的错误. 如果犯了和我一样的错,也能知道自己错在哪里! <(^-^)> 函数如下:(斐波那契数列的实现) lo ...