Swift学习日记(一)

 

前一段时间公司要进行iOS开发,所以将我这个Java开发者临时调整到了iOS开发,经过两个月左右的开发和学习,现在初步有了一点点心得现在分享一下。

因为我原先是Java的开发者,所以有些东西可能会用Java来进行比喻,有Java基础的看上去会比较容易。

我的项目用的是 Swift + UIKit,SwiftUI学习了一段时间之后发现有些功能或者问题找不到好的解决方案,所以暂时放弃了SwiftUI。

首先就是 Swift 的类型,常规类型这里我们忽略(比如Int、string、Double等)详细介绍一下Swift的特殊类型:可变类型(可变类型其实可以大致理解为正常的Java变量定义,可变类型可以给变量赋值nil【nil == null】但是在我们使用的时候要在可变类型后加上"!" 将可变类型转为正常类型)

//name 表示为可变类型,可以将值设置为nil
var name :string?  = nil
var age :Int = 0
//var age :Int = nil  如果这样写早编译器里是会报错的,因为这样的age并不是可变类型,如果要赋值的话,只能赋Int类型的值。

name = “seventeen”

print("Your name is \(name)")
print("Your age is \(age)")

/*
输出
Your name is optional(seventeen)
Your age is 0
*/
//这里的可变类型会出现 optional 字样,如果使用的话会出现问题,所以使用的时候用“!”强制解包
print("Your name in \(name!)")
/*
输出
Your name is seventeen
*/

 

接下来介绍一下 class 、struct以及protocol

个人认为struct在swift项目中的使用的并不多,除了一下特定的位置需要使用外,我个人使用class多一点。要说他们俩最大的区别就是struct不可以使用let(一旦定义就不可以修改变量的值)去定义变量,而且struct在swift中是不允许被继承的。

重点讲一下protocol(中文称为协议)关键字,它并不存在与Java中,但是可以用Java的接口进行理解。它只定义变量和方法,具体的赋值和方法的实现都是由继承(Java的叫法)的class或者struct实现。

swift的一个优点就是一句话结束后面加不加“;”都可以,就不会出现少一个分号无法运行的情况。

 

posted @ 2021-11-26 09:59  拾柒年  阅读(52)  评论(0编辑  收藏  举报