美文网首页
访问控制,内存管理

访问控制,内存管理

作者: 奇怪的知识增加了 | 来源:发表于2020-06-29 11:46 被阅读0次

swift系列课程

image.png image.png image.png image.png image.png 布尔类型成立就往下走,不成立就报错打印后面的提示 image.png image.png

访问控制

image.png image.png image.png image.png image.png image.png 放在test类里面会报错,因为fileprivate获取的是整个文件的作用域,在test外面找不到Person就报错;放在test外面的话,private作用域和fileprivate一样都是在本文件内部,所以不会报错 image.png 直接在全局作用域下的private 等同于fileprivate,一般情况下,类型为private或者fileprivate,则成员\嵌套类型默认也是private或者fileprivate image.png image.png 如果结构体有private\fileprivate的存储实例属性,那么它的成员初始化器也是private\fileprivate image.png 协议 image.png image.png image.png image.png Person里面协议的实现方法run()要么大于等于Person的级别,要么大于Runnable协议的级别 Person里面run()默认是internal级别

扩展

image.png Person里面run()默认也是fileprivate-----如果有显式设置扩展的访问级别,扩展添加的成员自动接收扩展的访问级别 如果没有显示设置扩展的访问级别,扩展添加的成员的默认访问级别,跟直接在类型中定义的成员一样 如果没有显示设置扩展的访问级别,扩展添加的成员的默认访问级别,跟直接在类型中定义的成员一样 可以单独给扩展添加的成员设置访问级别 可以单独给扩展添加的成员设置访问级别 不能给用于遵守协议的扩展显式设置扩展的访问级别 image.png

将方法赋值给var\let sss


image.png
image.png image.png

内存管理

image.png let 无法保证p可以赋值为nil ARC自动给弱引用设置nil时,不会触发属性观察器 image.png image.png image.png
image.png image.png 非逃逸闭包 image.png image.png image.png

相关文章

网友评论

      本文标题:访问控制,内存管理

      本文链接:https://www.haomeiwen.com/subject/wuxofktx.html