美文网首页
swift----学习心得三

swift----学习心得三

作者: 彬至睢阳 | 来源:发表于2018-05-03 09:00 被阅读0次

可选类型

可选类型是swift的一个特色。他表示一个变量有可能有值,也可能没有值(nil).声明的方式是“数据类型+问号”而当要使用一个可选类型的变量是,要在后面加感叹号“!”。

var height:Int? //声明一个可选类型,默认值为nil

if height == nil{

    print("你有多高?")

}else{

    print("你有\(height!)高。")

}

height = 199 //给可选类型赋值

类型判断is 与 类型转换as

if 对象 is 类(类型判断is)

注意:is也可以用来检查某个类是否遵循了某个协议

 if let m = 对象 as? 类 

如果不确定类型转换能否成功,可以在as后面加问号“?”

AnyObject与Any的区别

AnyObject :代表任何class类型的对象实例。

Any :范围更广,代表除函数外任何类型的实例。

struct 和 class 的区别?

区别:

a. 类可以继承,结构体不可以

b. 可以让一个类的实例来反初始化,释放存储空间,结构体做不到

c. 类的对象是引用类型,而结构体是值类型。所以类的赋值是传递引用 ,结构体则是传值。

相同点:

a,类和结构体都可以扩展

b,定义属性用于储存值

c,定义方法用于提供功能

d,定义下标用于通过下标语法访问值

e,定义初始化器用于生成初始化值

class与staitc关键字的区别?

a. static 可以在类、结构体、或者枚举中使用。而 class 只能在类中使用。

b. static 可以修饰存储属性,static 修饰的存储属性称为静态变量(常量)。而 class 不能修饰存储属性。

c. static 修饰的计算属性不能被重写。而 class 修饰的可以被重写。

d. static 修饰的静态方法不能被重写。而 class 修饰的类方法可以被重写。

e. class 修饰的计算属性被重写时,可以使用 static 让其变为静态属性。 f. class 修饰的类方法被重写时,可以使用 static 让方法变为静态方法。

swift是如何解决循环引用问题的?

在 Swift 中有 2 种  引用形式,unowned 和 weak。虽然它们的作用类似,但与它们相关实例生命周期的假设会略有不同,并且具有不同的性能特征。unowned 引用使用的场景是,原始实例永远不会为nil,闭包可以直接使用它,并且直接定义为显式解包可选值。当原始实例被析构后,在闭包中使用这个捕获值将导致崩溃。如果捕获原始实例在使用过程中可能为 nil ,必须将引用声明为 weak, 并且在使用之前验证这个引用的有效性。

如果捕获原始实例在使用过程中可能为nil,必须将引用声明为weak, 并且在使用之前验证这个引用的有效性。

相关文章

  • swift----学习心得三

    可选类型 可选类型是swift的一个特色。他表示一个变量有可能有值,也可能没有值(nil).声明的方式是“数据类型...

  • Swift----属性

    讲到属性传值,不能不再对比复习一下属性,在Swift中属性有多种,1.存储属性:它作为类实例的一部分,用于存储常量...

  • Swift----声明

    在Objective-C中,通过使用指针来处理对象引用,指针可以为空,在Objective-C中称为nil。在Sw...

  • Swift----枚举

    OC中的枚举: typedefNS_ENUM(NSInteger, UITableViewCellStyle) {...

  • Vue.js,学习心得(十三)组件三

    学习心得,组件(三), 直接上代码了

  • swift----懒加载

    以下三种格式,都不会报错,可是,在编写代码时会有一些问题 1 2 3 1和2的差别在于,1使用UIImageVie...

  • Swift----类型属性

    类型属性 实例属性属于一个特定类型的实例,每创建一个实例,实例都拥有属于自己的一套属性值,实例之间的属性相互独立。...

  • Swift----闭包

    闭包是自包含的函数代码块,可以在代码中被传递和使用. 闭包可以捕获和存储其所在上下文中任意常量和变量的引...

  • swift----内存管理

    内存管理不管是在ObjectC 还是swift上,在开发过程中都是我们需要关注的一个重点。刚好学习到,做此笔记 1...

  • 软件构造|软件复用技术

    作业:从类、API、框架三个层面学习如何设计可复用软件实体的具体技术并撰写学习心得 学习心得20200613 软件...

网友评论

      本文标题:swift----学习心得三

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