美文网首页
swift4.0 字段 含义

swift4.0 字段 含义

作者: _feiyu_2100 | 来源:发表于2018-03-05 11:14 被阅读26次
有你生活更精彩.jpg
字段 含义 例子
var 定义变量,设置之后可以修改 var number: Int = 30
let 定义常量,设置之后不可以修改一般情况下先用let,可以避免数据被修改,保证数据安全性 let number: Int = 30
强制解析 1.确定可选包含一个非nil的值,否则会运行错误 声明可选变量时使用感叹号(!) 2. 替换问号(?)这样可选变量在使用时就不需要再加一个感叹号(!)来获取值,它会自动解析。) var myString:String? myString ="Hello, Swift!" if myString != nil { print( myString! )}else{ print("myString 值为 nil"}
? 可选(Optionals)类型,值会默认为 nil,在类型和 ?之间没有空格 var optionalInteger: Int?
??
as 字面理解就是有保证的转换,从派生类转换为基类的向上转型 // 将1转成float let num = 1 as CGFloat // dog转换到父类 animal class Animal {} class Dog: Animal {} let d = Dog() d as Animal
as? Swfit代码写一段时间后会发现到处都是 ? ,这预示着如果转换不成功的时候便会返回一个 nil 对象。成功的话返回可选类型值(optional) // Dog、Cat和Animal的转换关系class Animal {}class Cat: Animal {}class Dog: Animal {var name = "Spot"}let dog: Dog? = nildog?.name // 选择调用,返回空值nildog!.name // 强行调用,报错let animal: Animal = Cat()animal as? Dog // 猫转狗失败,返回nil animal as! Dog // 猫强行转狗,失败报错
as! 理解:字面理解就是有强项转换,即向下转型,子类(派生类)向父类转换,官方解释说这是一个不被保证的转换,可能会因为强转的失败而会导致崩溃。同时 !是一个陷阱的标志,就像⚠️一样,用起来存在一定危险性 // Dog到Animal的转化 class Animal {} class Dog: Animal {} let a: Animal = Dog() a as Dog // as不能将a转成Dog,即不能向下转换 a as! Dog // as!能强行将a转成Dog -> Bingo
guard 作为保卫作用 // 如果有结果,那么看一下结果是否为空,为空退出 guard let placemarks = placemarks else { return }
open 可以被任何人使用,包括override和继承 /// ModuleA:这个类在ModuleA的范围外是不能被继承的,只能被访问public class NonSubclassableParentClass {}
public 可以被任何人访问。但其他module中不可以被override和继承,而在module内可以被override和继承 // 在ModuleA的范围外可以被继承open class SubclassableParentClass {}
final 不允许对其修饰的内容进行继承或者重新操作。final关键字可以在class、func和var前修饰 public final class FinalClass { }
internal 默认访问级别,internal修饰符可写可不写,internal访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。 internal class InternalClass {}
fileprivate 访问级别所修饰的属性或者方法在当前的Swift源文件里可以访问 fileprivate var name = "wangsan"
private 访问级别所修饰的属性或者方法只能在当前类里访问 private var name = "wangsan"
override 重载 // 重写方法 override func a() { }
extension 扩展 https://www.jianshu.com/p/edf4cad8dfd5
lazy 懒加载,需要初始化一次 lazy var first = NSArray(objects: "1","2"
typealias 已存在的类型重新定义名称 typealias Location = CGPoint let point: Location = CGPoint(x:1 , y: 1)

5种修饰符访问权限排序 :open > public > interal > fileprivate > private

不足的地方后续会继续添加
参考的资源:
1.Swift开发语法 : https://www.jianshu.com/p/5e2d4c34f18e

  1. as、as!、as? 关键字 :http://blog.csdn.net/robinson_911/article/details/74139753
  2. open,public,internal,fileprivate private:
    http://blog.csdn.net/sun_cui_hua/article/details/78021804https://www.jianshu.com/p/604305a61e57

4.extension : https://www.jianshu.com/p/edf4cad8dfd5
一个适合初学者swift的Demo:https://github.com/hrscy/DanTang(仅供参考学习)
下面是使用swift4.0 编写的Demo:https://github.com/guofeifeifei/swift-DanTang(仅供参考学习)

相关文章

  • swift4.0 字段 含义

    5种修饰符访问权限排序 :open > public > interal > fileprivate > priv...

  • top字段含义

    序号 列名 含义 a PID 进程id b PPID 父进程id c RUSER Real ...

  • 小白的数据库设计

    目录 1、表的设计2、表中字段设计3、字段属性的含义 表的设计 表中字段的设计 字段属性的含义 本人个人微信公众号...

  • Python网络爬虫(浏览器伪装技术)

    01 头信息字段格式 基本格式:”字段名:字段值“ 02 常见头信息字段含义 1)字段1: Accept: tex...

  • 数据验证

    数据清晰性检验: 数据表中的字段含义是否清晰,使用数据者是否可以根据字段名基本确认字段含义,而不会产生歧义; 数据...

  • MySQL创建计算字段

    字段 字段与列含义差不多,数据库列一般叫列,字段一般是指计算字段 计算字段 其实就是一段各个列的信息集合,这个...

  • centos 7 free 字段含义

    #free -h total used free shared buff/cache...

  • MySQL 字段类型及其含义

    1. bytes bytes = 8 bit 一个字节最多可以代表的数据长度是2的8次方 11111111 在计算...

  • shadow文件各字段含义

    例如下面这一段即一个用户的shadow信息: uangianlap:$6$oX3cr.x9IJD6Qx1J$17E...

  • mysql DQL语言连接查询

    一、含义当查询中涉及到了多个表的字段,需要使用多表连接select 字段1,字段2from 表1,表2,...; ...

网友评论

      本文标题:swift4.0 字段 含义

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