Swift学习笔记&SwiftUI初尝试

Swift

一、循环

1.循环类型

Swift中的循环与C语言中用法类似:

类型描述
for- in循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。
while 循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false。
repeat…while循环在循环执行结束时判断条件是否符合。

Attention: 在Swift语言中数字 0 字符串 ‘0’“”, 空的 list(), 及未定义的变量都为 false ,其他的则都为 true。true 取反使用 ! 号或 not,取反后返回 false。

2.控制语句

(1)break 语句& continue 语句

用法均于C语言中相同:
b&c

(2)fallthrough 语句

fallthrough 语句让 case 之后的语句会按顺序继续运行,且不论条件是否满足都会执行
在switch语句中Swift中的fallthrough与C语言中的break作用相反:
fallthrough
example:

import Cocoa

var V = 1230

switch V {
   case 1201  :
      print( "Jin")
   case 1230,913  :
      print( "butter")
      fallthrough
   case 907  :
      print( "fly")          
   default :
      print( "默认 case")  
}       //输出结果:butter fly

二、字符串

1.创建

可以通过使用字符串字面量或 String 类的实例来创建一个字符串:

import Cocoa

// 使用字符串字面量
var stringA = "butterfly"
print( stringA )

// String 实例化
var stringB = String("butterfly")
print( stringB )  //以上两个输出结果均是“butterfly”

可以使用空的字符串字面量赋值给变量或初始化一个String类的实例来初始值一个空的字符串:

import Cocoa

// 使用字符串字面量创建空字符串
var stringA = ""
// 实例化 String 类来创建空字符串
let stringB = String()

2.插入&连接

用“\()”以插入常量、变量、字面量和表达式。
+ 将字符串相连。(具体实例见上篇笔记)

3.比较

可以使用 == 来比较两个字符串是否相等:

import Cocoa

var varA   = "save me"
var varB   = "I'm fine"

if varA == varB {
   print( "\(varA)\(varB) 是相等的" )
} else {
   print( "\(varA)\(varB) 是不相等的" ) //输出结果:save me 与 I'm fine 是不相等的
}

4.函数及运算符

函数类型如下:
在这里插入图片描述
运算符类型如下:
在这里插入图片描述

三、字符(Character)

Swift 中的每一个字符代表一个可拓展的字母集,可拓展的字母集由若干个Unicode标量值表示,这些标量构成了 一个可拓展的字母集。
example:
在这里插入图片描述
你可以将字符拼接为字符串:
在这里插入图片描述
Attention:字符拼接后将以字符串(即String)形式存在。

1.遍历字符串中的字符

既然字符串是由一个个字符组合而成的,即字符串是字符的集合,那么就可以对字符串进行遍历、查找和打印字符串中的每个字符。
Swift 3 中的 String 需要通过 characters 去调用的属性方法,在 Swift 4 中可以通过 String 对象本身直接调用,演示如下:
在Swift 3中

import Cocoa

for ch in "Butterfly".characters {
    print(ch)
}

在Swift 4中

import Cocoa

for ch in "Butterfly" {
    print(ch)
}

两个代码运行结果均为

B
u
t
t
e
r
f
l
y

2.字符串连接字符(⚠️前后顺序)

可以使用 String 的 append() 方法来实现字符串连接字符:

import Cocoa

var str = "love"
var bts:Character = "V"
str.append( bts )
print("\(str)")  //输出结果:loveV

Attention:Swift 中不能创建空的字符类型变量或常量。

四、数组

1.创建

在Swift 中,数据值在被存储进入某个数组之前,数据的类型必须明确,方法是通过显式的类型标注或类型推断:

let a = Array<someType>()  //空数组
let b = [someType]()
let c = [6,1,3]  //数组类型将被推断为整型数组

以下是创建一个初始化大小数组的语法:

var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)

2.赋值&编辑

可以使用 append() 方法或者赋值运算符 + 在数组末尾添加元素,如下所示,我们初始化一个数组,并向其添加元素:

import Cocoa

var Varray = [Int]()
Varray.append(6)
Varray.append(1)
Varray+=[3]
print("\(Varray[0]),\(Varray[1]),\(Varray[2])") //输出结果:6,1,3

我们也可以直接使用 insert () 方法添加元素,新的元素将被插入数组中指定的index 位置,该位置原来的元素将依次右移:

Varray.insert(7,at:1) //Varray的元素:[6,7,1,3]

如果我们要修改上数组的最后一个元素值,可直接通过索引修改:

import Cocoa

var Varray = [Int]()
Varray.append(6)
Varray.append(9)
Varray.append(1)
Varray+=[3]
Varray[1]=7
print("\(Varray[0]),\(Varray[1]),\(Varray[2])") //输出结果:6,7,1,3

使用这种方式甚至可以一次性修改数组中多个元素的值:

Varray[1..3]=[7,7,7]    //Varray的元素:[6,7,7,7]

Swift 数组提供了几种remove 方法,用来删除数组中的元素:
在这里插入图片描述
我们可以使用加法操作符 +合并两种已存在的相同类型数组。新数组的数据类型会从两个数组的数据类型中推断出来:

import Cocoa

var A = [Int](repeating: 2, count:2)
var B = [Int](repeating: 1, count:3)

var C = A + B

for item in C {
    print(item)
}

运行结果为:

2
2
1
1
1

3.访问&查找

数组中元素的访问是通过下标语法实现的:

let Array1 = [b,t,s] 
print(Array1[2])  //输出结果为:s

通过使用数组的只读属性countisEmpty 可以获取数组中的元素数量:

Array1.isEmpty  //判断数组是否为空,结果为:false
Array1.count    //获得数组中元素的数量,结果为:3

4.遍历数组

我们可以使用for-in循环来遍历所有数组中的数据项:

import Cocoa

var someStrs = [String]()

someStrs.append("B")
someStrs.append("T")
someStrs += ["S"]

for item in someStrs {
   print(item)
}

运行结果为:

B
T
S

SwiftUI

创建新项目并探索画布

打开Xcode,选择create new project后,选择iOS平台,App模板,即可创建Landmarks(自命名)项目。
在这里插入图片描述
在左侧项目导航器中选择ContentView:
在这里插入图片描述
默认情况下,SwiftUI 视图文件声明了两个结构。第一个结构符合View协议并描述视图的内容和布局。第二个结构声明了该视图的预览。
在这里插入图片描述
修改程序可使右侧呈现不同内容:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值