iOS开发第四周学习

一、swift语言学习

循环

1.for-in 循环

for-in 循环用于遍历一个集合里面的所有元素,例如由数字表示的区间、数组中的元素、字符串中的字符。

for index in 1...5 {
    print("this is \(index)")
}

上面的例子中,index 是一个每次循环遍历开始时被自动赋值的常量。这种情况下,index 在使用前不需要声明,只需要将它包含在循环的声明中,就可以对其进行隐式声明,而无需使用 let 关键字声明。

for _ in 1...5{
    print("Hello")
}//如果不需要区间序列内每一项的值,可以使用_代替变量名来忽略这个值
let base = 3//底数
let power = 10//幂
var answer = 1
for _ in 1...power{
    answer *= base
}//乘方,3的10次幂

区间运算符

  • 闭区间运算符a…b
    定义一个包含从a到b(包括a和b)的所有值的区间,b必须大于等于a。
  • 半开区间运算符a…<b
    定义一个从a到b但不包括b的区间。 之所以称为半开区间,是因为该区间包含第一个值而不包括最后的值。 ‌

2.while循环

while循环从计算单一条件开始。如果条件为true,会重复运行一系列语句,直到条件变为false。

var index = 10
while index < 20 
{
   print( "index 的值为 \(index)")
   index = index + 1
}

3.repeat…while 循环

repeat…while 循环不像 for 和 while 循环在循环体开始执行前先判断条件语句,而是在循环执行结束时判断条件是否符合

import Cocoa
var index = 15
repeat{
    print( "index 的值为 \(index)")
    index = index + 1
}while index < 20

4.循环控制语句

循环控制语句改变你代码的执行顺序,通过它你可以实现代码的跳转
Continue 语句
continue语句告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。

for index in 1...5{
    if index % 2 == 0{
        continue
    }
    print("this is \(index)")
}

运行结果为:
this is 1
this is 3
this is 5

var index = 10
while index < 20
{
    if index % 2 == 0{
        index = index + 1//更新index以防死循环
        continue
    }
    print( "index 的值为 \(index)")
    index = index + 1
} 

Break 语句
break语句会立刻结束整个控制流的执行。
如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。

for index in 1...5{
    if index % 2 == 0{
        break
    }
    print("this is \(index)")
}

运行结果为:
this is 1

字符串

字符串是一系列字符的集合,它的数据类型为 String

1.创建字符串

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

var strA = "hello"//使用字符串字面量
var strB = String("hello")//String实例化

2. 空字符串

  • 你可以使用空的字符串字面量赋值给变量或初始化一个String类的实例来初始值一个空的字符串。
  • 我们可以使用字符串属性 isEmpty 来判断字符串是否为空
var emptyStringA = ""//引号内什么都没有
var emptyStringB = String()
emptyStringA.isEmpty//布尔值

3.字符串中插入值

字符串插值是一种构建新字符串的方式,可以在其中包含常量、变量、字面量和表达式。 您插入的字符串字面量的每一项都在以反斜线为前缀的圆括号中:

var varA   = 20
let constA = 100
var varC:Float = 20.0
print("\(varA) 乘于 \(constA) 等于 \(varC * 100)")

4.字符串连接

字符串可以通过 + 号来连接

var strA = "hello"
var strB = "world"
print(strA + "," + strB)

5.字符串长度

字符串长度使用 String.count 属性来计算

var strA = "hello"
var strB = "world"
var strC = strA + "," + strB
print(strC.count)

字符(Character)

Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character。

let char1: Character = "A"

如果你想在 Character类型的常量中存储更多的字符,则程序执行会报错
Swift 中不能创建空的 Character 类型变量或常量
遍历字符串中的字符
Swift 的 String 类型表示特定序列的 Character(字符) 类型值的集合

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

字符串连接字符
String 的 append() 方法来实现字符串连接字符

  • List item
var varA:String = "Hello "
let varB:Character = "G"
varA.append( varB )
print("varC  =  \(varA)")

数组

  • 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。
  • Swift 数组会强制检测元素的类型,如果类型不同则会报错。
  • 如果创建一个数组,并赋值给一个变量,则创建的集合就是可以修改的。这意味着在创建数组后,可以通过添加、删除、修改的方式改变数组里的项目。
  • 如果将一个数组赋值给常量,数组就不可更改,并且数组的大小和内容都不可以修改。

1.创建数组

var names = ["Ada","Bill","Sam"]//字面量创建
var numbers: [Int] = [1,2,3,4]//类型标注
var someInts = [Int](repeating: 0, count: 3)//默认值为0,数量为3

2.空数组

需要明确类型

var emptyArray: [Int] = []
var emptyArray2 = [Int]()

3.基本数组操作

通过索引(从0开始)读取特定值

var numbers: [Int] = [2,4,6,8]
print(numbers[0])
numbers[3] = 10//通过索引改变一个值

[2, 4, 6, 10]

print(numbers.count)//读取数组长度
print(numbers.isEmpty)//是否为空,布尔值

可以使用 append() 方法或者赋值运算符 += 在数组末尾添加元素

numbers += [12]
numbers.append(12)//追加一个值
numbers.insert(9,at:4)//插入一个值

[2, 4, 6, 8, 9, 12]

var names = ["Ada","Bill","Sam"]
let morenames = ["Ford","George","Helen"]
names = names + morenames//数组拼接
print(names)

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

var names = ["Ada","Bill","Sam"]
for index in names{
    print(index)
}

运行结果:
Ada
Bill
Sam
如果我们同时需要每个数据项的值和索引值,可以使用 String 的 enumerate() 方法来进行数组遍历

var names = ["Ada","Bill","Sam"]
for (index,number) in names.enumerated(){
    print("index为\(index)的地方是\(number)")
}

运行结果:
index为0的地方是Ada
index为1的地方是Bill
index为2的地方是Sam

二、Swift UI入门

创建项目并探索画布

创建一个项目,选择iOS,App,SwiftUI界面。
但是在我实际操作过程中,进入界面后就已经写好一个程序。
选择App.swift
在这里插入图片描述

选择ContentView.swift
在这里插入图片描述

已经写好的程序,点击➕会在列表最后添加当时时间,点击Edit,出现
在这里插入图片描述

进入编辑界面,点击红色按钮,再点击Delete就删除这条信息,点击Done完成编辑,回到原界面,点击灰色箭头,看到详细信息
在这里插入图片描述

点击Back返回。
以我现在的水平还不能完全将代码与其功能对应,以后学习更多知识后,会详细分析此代码。查找资料,我找到了使用swiftUI时"Hello,World!"代码。
LandmarksApp.swift
在这里插入图片描述

该结构的body属性返回一个或多个场景,这些场景又提供显示内容。该@main属性标识应用程序的入口点。
ContentView.swift
在这里插入图片描述

默认情况下,SwiftUI 视图文件声明了两个结构。第一个结构符合View协议并描述视图的内容和布局。第二个结构声明了该视图的预览。

当更改视图body属性中的代码时,预览会更新以反映您的更改。
在这里插入图片描述

选择文本,可以在右侧调试文本,或者在左侧添加操作
在这里插入图片描述

也可以使用+,添加组件
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuan_cxy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值