iOS Swift教程-学习语言基础
Swift是一种非常容易学习的编程语言,因为其语法易于遵循。 在本iOS Swift教程中,我们将介绍一些Swift语言基础知识,并且我们将了解使用Swift编程语言进行开发的过程是多么容易。
在开始构建iOS应用之前,我们需要了解Swift语言的基础知识,并了解它们如何协同工作,然后才能构建所需的出色应用。 在本教程和所有后续教程中,我们将使用Swift 3。
定义变量
变量用于存储值,以后可以在程序中对其进行操作。
首先,让我们创建一个新的游乐场并保存。 然后清除所有游乐场内容。
要定义变量,请使用关键字var,后跟变量名称,如下所示:
var myvar
您可以为变量使用任何名称,但不能以类似以下的数字开头变量名称:
var 2myvar
上面的定义是不正确的,但是您可以包含如下数字:
var myvar2
使用所需的任何变量名,但要具有描述性。
要为该变量分配值,请使用等号,如下所示:
var myvar =“您好,LikeGeeks访问者,欢迎使用iOS Swift教程”
字符串插值
要打印字符串并包括其他类型的值,可以使用字符串插值\()进行如下转换:
var var1 = 100 var var2 =“您好,我口袋里有$ \(var1)”
var var2 =“你好,我口袋里有$ \(var1)”
您不仅限于字符串变量,还可以在Swift中定义不同类型的变量。
var var1 = true var var2 = 50
第一个变量var1是布尔类型。 您可以对布尔类型使用true或false。
第二个变量var2是整数类型,或者用Swift语言命名为Int。
在Swift中,您不需要键入变量类型,而该类型则是类型推断 。
Xcode根据提供的值检测变量类型,因此,如果在引号之间为变量分配值,则表示变量是字符串,如果键入整数作为值,则表示变量类型为Int等,
您可以像这样显式定义变量类型:
var var1:字符串=“欢迎使用Swift教程” var var2:Bool = true var var3:Int = 50
var var1:字符串=“欢迎使用Swift教程”
您不需要显式定义这些类型,但是有时是必要的,因为我们将在以后的文章中看到。
定义常数
常量就像变量一样,但有一个例外,如果它需要一个值,则无法对其进行更改。
要定义一个常量,请使用如下的let关键字:
let var1 =“欢迎使用Swift教程” let var2 = 100 let var3 = true
let var1 =“欢迎使用Swift教程”
如果您尝试更改这些常量中的任何一个,Xcode都会显示一个错误,将let更改为var以便可以对其进行修改
let var1 =“欢迎使用Swift教程” let var2 = 100 let var3 = true var1 =“你好”
let var1 =“欢迎使用Swift教程”
处理数组
该数组是一组值,因此您可以定义一个包含所有这些值的数组,而不是定义多个变量。
您可以这样定义一个数组:
var myarr = [10,20,30,40,50]
您可以通过基于零的索引访问数组的任何元素,因此第一个元素的索引为零。
要将项目追加到数组,请使用如下的append函数:
var myarr = [10,20,30,40,50] myarr.append(60)
var myarr = [10,20,30,40,50]
您可以像这样检查数组计数:
myarr.count
另外,您可以使用remove函数从数组中删除项目,如下所示:
var myarr = [10,20,30,40,50] myarr.remove(at:3)
var myarr = [10,20,30,40,50]
索引从零开始,因此3表示第四个元素。
如果需要定义一个空数组,可以这样:
您必须明确定义类型,在这种情况下为字符串。
定义字典
字典就像数组,但是它们是键值对,其中键必须是唯一的。
有时最好在数组上使用字典,因为查找特定项目要容易得多。
使用数组时,各项按数字顺序排列,但是如果需要查找特定信息,则字典会更好。
您可以这样定义字典:
var mydictionary = [String:String]()
在这里,我们定义了一个带有字符串类型键的字典,相应的值也是字符串。
要将项目添加到字典中,
mydictionary [“ OS”] =“ Mac OS” mydictionary [“ Mobile”] =“ iPhone”
mydictionary [“ OS”] =“ Mac OS”
mydictionary [“移动”] =“ iPhone”
您可以这样获得字典计数:
mydictionary.count
另外,您可以检查字典是否为空或不像这样:
mydictionary.isEmpty
如果您需要删除一个元素,可以这样做:
mydictionary [“ OS”] =零
要遍历项目,您可以使用for-in循环,如下所示:
for(mykey,myval)in mydictionary {print(mykey +“ ==>” + myval)}
for(mykey,myval)in mydictionary {
print(mykey +“ ==>” + myval)
要清除字典项,请使用[:]
mydictionary = [:]
While循环
现在,您创建数组并通过其索引获取任何元素,是时候遍历这些元素并对其进行处理。
要遍历数组元素,可以使用while循环,如下所示:
var myarr = [10,20,30,40,50] var x = 0,而x <myarr.count {myarr [x] = myarr [x] + 10 x = x + 1} myarr
var myarr = [10,20,30,40,50]
如您所见,数组元素的每个元素增加了10个。
循环内
循环的另一种类型是for-in循环。 使用for-in循环,您可以迭代一系列值。
您可以这样写:
var myarr = [10,20,30,40,50] for myarr {print(item)}
var myarr = [10,20,30,40,50]
使用for-in循环时,不需要像整数一样增加每个循环的时间,就像在while循环中所做的那样。
If-else陈述
您可以使用if语句来检查特定条件,例如:
var myvar = 100,如果myvar == 100 {print(“值是100”)}
打印(“值是100”)
您可以在底部的控制台窗口中查看结果。
另外,您可以使用如下else语句:
var myvar = 100,如果myvar == 100 {print(“值是100”)}否则{print(“值不等于100”)}
打印(“值是100”)
打印(“值不等于100”)
也许您有多个条件,可以这样使用else:
var myvar = 100,如果myvar == 100 {print(“该值是100”)}否则,如果myvar> 100 {print(“该值大于100”)}否则,{print(“该值小于100” )}
打印(“值是100”)
打印(“该值大于100”)
打印(“该值小于100”)
比较运算符
在上面的示例中,我们使用等于运算符==,但是,还有其他运算符可用于比较。
不等于:!=
大于:>
大于或等于:> =
小于:<
小于或等于:<=
您可以与上面的示例相同的方式使用它们。
数学运算
在Swift中,有许多运算符可用于执行数学运算。
您可以像这样执行四个基本的算术运算(+ — * /):
var sum = 5 + 5 var diff = 10-5 var乘法= 5 * 5 var divid = 25/5
您可以像其他任何编程语言一样使用模数运算符。
模运算符用于除以两个数时剩下的余数。
变量剩余= 20%3
迅捷函数
当您开始编码时,有时会发现整个文件中都重复了一些代码行。
您可以将这些行组合到一个函数中,一次编写一次,然后在任何地方多次调用。
要定义函数,请使用关键字func,如下所示:
func myfunc(){//您的代码在此处}
这是最简单的函数形式。 您可以像这样将输入或参数传递给函数:
func myfunc(var1:Int,var2:Int){//您的代码在此处}
func myfunc(var1:Int,var2:Int){
在此示例中,我们定义了一个接受两个Int类型参数的函数。
您可以这样定义返回类型:
func myfunc(var1:Int,var2:Int)-> Int {//您的代码在此处}
func myfunc(var1:Int,var2:Int)-> Int {
请注意,返回类型为Int。
让我们做一个将两个数字相加并返回总和的函数。
func getsum(var1:Int,var2:Int)-> Int {return var1 + var2}
func getsum(var1:Int,var2:Int)-> Int {
现在该函数已经准备就绪,我们所要做的就是通过它的名称来调用它:
getsum(var1:10,var2:15)
如您在右窗格中看到的,结果是25。
尝试使用不同的输入在不同的时间调用该函数并检查结果。
面向对象编程
OOP或面向对象编程是一种非常流行的编程模型,您可以像现实生活中那样将所有内容构造为对象。
类是面向对象编程的主要组成部分,它使您可以为对象创建蓝图。
在Swift中创建一个类非常容易,您可以使用class关键字来创建它,如下所示:
您可以像这样为此类的属性添加变量:
等级车{var speed = 400 var model =“ BMW” var engine =“” func move(){} func stop(){}}
我们刚刚创建的类只是一个蓝图,为了使用它,您需要创建一个这样的实例:
让mycar = car()
要在Swift中创建类的实例,只需在其名称后加上括号即可,如上所示。
创建实例后,创建的实例具有一个空引擎,因此我们为其指定一个值。
mycar.engine =“动力引擎”
同样,您可以像这样调用类的函数:
mycar.move()mycar.stop()
您可以创建所需的多个实例,并且每个实例都有自己的属性。
让mycar = car()mycar.engine =“动力发动机”让brocar = car()brocar.engine =“兄弟发动机”让ifecar = car()ifecarcar.engine =“妻子发动机”
mycar.engine =“动力引擎”
brocar.engine =“兄弟引擎”
ifeercar.engine =“妻子引擎”
对象继承
您已经创建了一个类,并且可以很好地完成其工作,现在您需要创建另一个类,该类的工作类似,但是有所不同,因此您可以继承该类,而不必再次重写在第一类中所做的工作并添加或修改您需要的内容。
假设我们的汽车类是基础类或父类:
等级车{var speed = 400 var model =“ BMW” var engine =“” func move(){print(“ Moving…”)} func stop(){}}
现在让我们从该类创建一个子类。
上面的代码将car类的所有属性和功能继承到了motocar,这是因为使用了冒号。
也许您需要覆盖新类中的某些函数,可以使用override关键字来覆盖它,如下所示:
motocar类:car {覆盖func move(){print(“快速移动……”)}}
如果创建motocar类的实例并尝试调用move函数,则应该看到覆盖的消息。
对象多态
OOP中另一个重要的概念称为多态性,它使您可以多次使用相同的函数名称,但是每个函数名称都有不同的参数,并且每个函数都具有不同的功能。
类书{func copy(){print(“ copying paper book”)}} func copy(path:String){print(“ copying pdf book”)}}
打印(“复印纸质书”)
func copy(path:String){
打印(“复制pdf书籍”)
在这里,我们有一个book类,其中有两个具有相同名称的函数,但是如果您深入了解,您会注意到传递的参数是不同的。
第一个复制函数不传递任何内容,而第二个复制函数传递一个字符串参数。
您可以有许多具有确切名称的函数,并且每个函数的功能完全不同,但是唯一的条件是,每个函数必须具有不同的参数。
如您所见,当我创建该类的实例时,它向我展示了复制函数的两个版本。
凉!!
在以后的文章中,我们将开始探索Xcode环境,并了解如何构建iOS应用。
我希望您发现该帖子对您有所帮助。 继续回来。
谢谢。