好久都没有来这个熟悉而又陌生的地方啦, 想想已经有两三个月了吧,不过我相信以后还是会经常来的啦,因为忙碌的学习已经过去啦,剩下的就是要好好的总结好好的复习了,好好的熟悉下我们之前学习的知识点,将他们有条理的串联起来.

        在之前的将近三个月里面,不管是忙碌还是怎么样吧, 也许在有些人看来这是非人的生活,但是内个人都有自己的过法吧,面对自己从未接触过的代码和语法,刚开始确实是有那么一点点的害怕,但是慢慢的就没有那种感觉了,渐渐的也发现其实敲代码并没有那么的可怕,也没有那么的难。经过三个月与代码的磨合我发现自己已经不再讨厌,不再抗拒他了,也可以说是对他产生了兴趣吧,我发现自己内心深处开始有种强烈的欲望,也有种不停呼唤的声音那就是监督着我,并时刻提醒着我一定要把iOS学好,不可以令那些在乎我关心我的人失望伤心。下面就来对我们学过的知识做个小小的知识链吧!

        在刚开始入班的时间,本以为只有我一个不是本专业的,但是渐渐的发现,其实并不是那样的,有好多都不是本专业的,也有好多和我一样都是零基础的,所以我开始有了自信,不过还好,刚开始我们以最最基础的C语言了步入了程序员阶段,然后伴随着将近一个月的C语言学习,便迎来了OC得学习,刚开始时间,看着黑板上面的英文字母,还真是一头雾水,慢慢的发现那些陌生的英文字母,语法等看着似乎有了感觉,并且也对他们产生了兴趣,开始想要好好的学习了,接下来也就是最最重要的UI阶段了,可以说UI使我们学习时间最长的一个阶段了,各种问题各种出,但是出现问题并不可怕,可怕地是有了问题还不问,不过这个说的不是我,因为我知道有问题不问,那就是对自己的不负责任,尽管有时间问的问题就如一加一一样那么的简单,可是那又怎样,我的目的是,不管简单还是复杂,我都要一一给他弄明白最后我基本上完成了我的目标,知道今天我做出了属于自己的第一款APP(当然目前正在审核阶段,预计本周就会出现在苹果商店中),直到今天,我们接触了全新的语言,那便是Swift语言,看着去年六月份刚出的语言,那面有种好奇的感觉,本以为会很难很难,可是事实并不是如此,也许是自己有了小小的底子吧,总而言之,我们学习的大致过程就是C语言--OC--UI阶段--Swift语言这几大块了,接下来就步入今天的主题吧:

        今天是接触Swift语言的第一天,感觉充实而又快乐,下面我为大家分别介绍下Swift语言的几种语法以及注意事项。

        一、Swift语言工程的创建

      提到这里要和大家强调一下,Swift语言和OC与UI的创建不同,具体如下图:

      

      箭头所指的方向,就是创建Swift工程的地方,紧挨着它的就是UI与OC工程所要用到的

        二、Swift语言工程名称

      对于Swift语言工程的名称和UI以及OC的都差不多具体如下:

      第几第一步后会出现以下界面,图片左上角的箭头指向便是工程名字,右上角箭头则是所属平台,当然如果想要返回的话则只需点击左下角箭头所指方向的Cancel按钮即可,至于右下角的箭头则是下一步操作了,在点击Next(下一步),然后就可以愉快的完成Swift语言的书写了。

        三、Swift语言的语法结构

      首先需要说明的是Swift语言和C语言及OC和UI的语法结构不同,具体如下:

      1、声明/定义变量及常量的方法:

//1.定义变量\常量(const  define)//1.1定义变量, 使用var定义
var xiang = "xiang"
println(xiang)//1.2定义一个常量 使用let定义
let qm = 213
let qq = "sadjflk"
//1.3变量常量的命名规范:几乎支持所有的Unicode编码字符, 除了一些数字符号, 箭头, 横线, 以及系统的关键字
var ? = "哈哈"
println(?)
//var var = "456"//2.基本类型
//          类型 浮点型 (双精度浮点 单精度浮点型) 波尔型 字符串
//C/C++语言: int float double bool char[]
//zai Swift语言中, 基本类型几乎已经被重写了, 首字母大写
//Swift语言中的基本数据类型:Int Float Double Bool String//2.2
var zs = 123
let whq = "234"
//[注]在Swift语言中, 声明变量/常量如果没有类型,而是直接赋值的话, 编译器会自动推断除常量/变量的类型
//2.3 命名常量和变量  变量/常量 : 类型名称
var lmt : String = "liumingtao"
//let lgz : Int = "213"// 2.4 练习
var zwd : Int = 233
//在Swift中, 整型是Int, 系统默认64位, 如果系统是32位, 则默认为32var wzb : Int8 = -128// Int8的范围: -128~127qqq//[prc:]变量/常量
var hxw = "sjlfdasdjlk"var gz : String = "guozhong"
var zhengxing : Int = 4564654let wujie = 456
let hah = "45646"var rkf = 3.5
//[注:]在Swift中, 浮点类型默认为double
var rly : Float = 2.5
var cj : Double = 2.6let dfr = rly + Float(cj)
//[注:]在Swift语言中不支持隐式转化, 可以进行显示转化 转化的方式: 类型(变量/常量)

      2.数组及字典的声明和使用

//4.数组 Array
//[注:]在OC中, 数组存放的元素都是基于NSObject类型的对象, 且对象类型可以不相同. 而在Swift中, 数组必须存放相同类型的对象
//定义一个数组
var lc : Array = [String]()
lc
let sxr : Array = [String]()//var 声明数组为 可变数组
//let声明数组为 不可变数组//创建可变数组
var gst = ["郭松涛", "张国栋", "邵文乐"]
//编译器会对类型进行数据推断, gst首先是一个Array的数组, 其次里面的数据, 是String的, 所以推断出是字符串数组
var ww = ["王伟", 24]//增
gst.append("豆培")
gst.insert("徐军辉", atIndex: 1)
gst//删
gst.removeLast()
gst.removeAtIndex(1)
gst.removeRange(Range(start: 1, end: 2))
gst//改
gst[0] = "马锐"
gst//查
//1.根据下表访问
gst[1]
//2.根据下表范围访问//...表示一个闭区间
gst[Range(start: 0, end: 1)]
gst[0...1]//..<表示一个开区间
gst[0..<1]//3.遍历
for name in gst {name
}
//4.获取数组中的元素以及位置
for (index, name) in enumerate(gst) {indexname
}//5.字典
//[注:]在Swift依旧保留了键值对(key-value), 但是需要注意的地方:value也必须是同一种类型
//声明一个变量
var sc = Dictionary<String, Int>()//增
//Swift中,通过下表访问字典中的元素, 如果字典中没有相对应的key, 那么就是添加数据
sc["age"] = 12
sc["name"] = 2
sc//删
sc.removeValueForKey("age")//改
//通过下表访问字典中的元素, 如果字典中有对应的key,那么就修改字典中的值
sc["name"] = 111
sc//查
//1.下标法
//2.遍历 for - in
for (key, value) in sc {keyvalue
}//Bool类型
//Bool 类型只有true 和 false
var ad : Bool = true
var bs : Bool = false
var b_zs : Bool = true//String
var b_hxw : String = "HuangXiangWang"
b_hxw.uppercaseString // 大写
b_hxw.lowercaseString // 小写

      以上代码便是Swift语言数组和字典的定义,很明显从这些可以看出来,它和C语言及其他语言的定义方法都不同,所以要想熟悉这些需要更多的努力,不管是什么我们都需要不写努力,为此我们还做了大量的练习,具体如下:

//分支结构
//1.if - else
//if 条件 {
//     语句块
//}
var a = 5
if (a == 5) {a
}
// [注:]条件必须是Bool类型//2. Switch - case
var b = 2
switch b {
case 0:b;
case 1:b + 1;
case 2:b + 2;fallthrough //[注:]在Swift中, 通过使用fallthrough可以强制的执行下一个case
case 3:b + 3;
case 4:b + 4;
default:b + 5;
}
// [注:]写Switch一定要加上default
// [注:]在Swift中, switch case加强了, 无需要在每个case后添加break
//[练习] 给一个日期, xx年xx月xx日, 计算这一天是这个年的第几天?//switch 中的case可以表示为一个范围, 范围可以交叉, 执行满足第一个条件后, 就跳出循环var c = 25
switch c {
case 0...25 where c != 29:// 使用where进行双重判断println("在0~30之间")
case 20...80:println("在20~80之间")
default:println("没有这个数")
}//元组也可以作为switch条件
var point = (1, 0)
switch point {
case (0, 0):println("原点")
case (_, 0):println("在X轴上")
case (0, _):println("在Y轴上")
default:println("其他点")
}// 3.循环结构
// 1. for
for var i = 0; i < 20; i++ {i
}//2.for - in
for j in 0...10 {j
}// 3.while
var sum = 0
// while的条件也需要一个返回值为Bool类型的条件, 例如 while 1 {} 为错误
while sum < 7 {sum += 1
}do {sum += 1
} while (sum < 10)//在数组中存放10个元组对象
var shuzu : Array = [String, Int]()
for var i = 0; i < 10; i++ {shuzu.append("hah", 45)
}
shuzu
//在字典中使用元组作为value
var sd = Dictionary<String, (String, Int)>()
sd["name"] = ("wang", 15)//3.在字典中使用数组作为valuevar sk = Dictionary<String, [String]>()sk["wujie"] = ["wode"]var yuanzu : (String, [Int]) = ("gaga", [55])

      同时在课堂的最后我们还进一步学习了Swift语言中的函数语句包括多参和单一参数的,具体代码如下所示:

//函数
//函数定义
/*
func 函数名 (参数列表) -> (返回值类型) {代码块
}
*/
func sayHello (name: String) -> (String) {return "hello " + name
}
sayHello("QiaoDaYe")//多个参数 参数之间用逗号隔开
func sayByeBye (name: String, name1: String) -> (String) {return name + " ByeBye " + name1
}
sayByeBye("QiaoDaYe", "GuoZhong")//返回值为多个参数 返回值为元组类型
func sayInfo (name: String, age: String) -> (String, String) {return (name, age)
}
sayInfo("baby", "27").0

        以上这些便是我们今天所学习的东西了,虽然不是很多,但毕竟是第一次接触吧,还是需要很长时间练习与总结的,每次接触一个新的知识点的时候,虽然课堂上听会了,但是更多是需要大量的练习与总结,所以望敲代码的小伙伴们一起努力,打造属于我们的明天,好了今天就写到这里了,明天我会继续努力的,加油,加油!

转载于:https://www.cnblogs.com/dyx-wx/p/4268615.html

iOS新的旅程之Swift语言的学习相关推荐

  1. 【iOS开发】如何用 Swift 语言进行LBS应用的开发?

    本文分为三部分,第一部分详解用Swift语言开发LBS应用,并给出完整的示例与源代码:第二部分介绍如何申请LBS密钥,第三部分是综合示例查看,扫描二维码即可查看示例demo. 第一部分 使用Swift ...

  2. Linux平台swift语言开发学习环境搭建

    摘要  介绍在Ubuntu平台搭建Swift开发环境: 介绍Swift脚本解析器swift的使用: 介绍Swift编译器swiftc的使用: 1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌 ...

  3. Swift语言入门学习

    文档 在入门Swift语言之前,可以先看下苹果官方对Swift语言的介绍(中文版) Swift介绍 开始着手学习Swift,可以看Swift官方文档.这篇文档是Swift Language Guide ...

  4. swift 在linux系统,Linux下搭建Swift语言开发学习环境

    介绍在Ubuntu平台搭建Swift开发环境: 介绍Swift脚本解析器swift的使用: 介绍swift编译器swiftc的使用: 1.序言 周三12月4日凌晨1点多看到苹果正式开源了Swift,国 ...

  5. linux swift开发环境,Linux平台swift语言开发学习环境搭建

    摘要 介绍在Ubuntu平台搭建Swift开发环境: 介绍Swift脚本解析器swift的使用: 介绍Swift编译器swiftc的使用: 1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌晨 ...

  6. swift linux编译器,Linux平台Swift语言开发学习环境搭建

    ####1.序言 这两天一直忙,没来得及记录东西,周三12月4日凌晨1点多看到苹果正式开源了Swift,国外各大媒体资讯动作超级快.我也兴奋的起来看了一遍关于Swift开源的最新消息.众所周知,苹果平 ...

  7. 初探swift语言的学习笔记九(OC与Swift混编)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/34440159 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  8. 初探swift语言的学习笔记一(基本数据类型)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/28258805 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

  9. 初探swift语言的学习笔记八(保留了许多OC的实现)

    作者:fengsh998 原文地址:http://blog.csdn.net/fengsh998/article/details/32715833 转载请注明出处 如果觉得文章对你有所帮助,请通过留言 ...

最新文章

  1. mysql+在服务中无法启动_MySQL服务初始化后无法启动
  2. 架构之路--实战项目记录(二) 忘记数据库 开始抽象
  3. 用java写一个折半查找_用Java写一个折半查找。
  4. java独步寻花,小班语言《江畔独步寻花》
  5. oracle半角全椒_Oracle全角和半角处理函数
  6. 加载java ie停止工作_打开网页,IE浏览器提示Internet Explorer 已停止工作什么原因?怎么解决?...
  7. Pandas 通用方法
  8. 250g硬盘linux如何分区合适,500G的硬盘,怎么分区比较合理?
  9. c++学习笔记(八)- map
  10. 苹果手机壳_潮牌刺绣苹果8 Plus手机壳,让爱机焕然一新
  11. 基于Android的数据传输wifi,毕业设计之 ---基于Android的文件实时传输系统
  12. myeclipse 创建和访问 servlet 项目
  13. android aysncTask面试解析
  14. 计算机硬盘大小一般都是整数,完美主义 最精确的硬盘整数分区法
  15. iTerm2安装Zmodem工具支持rz和sz命令
  16. OpenCV 直方图均衡化
  17. pycharm的安装,简单使用
  18. Java爬取喜马拉雅非付费音频【优化】
  19. 《管理学》第七章 激励
  20. “新基建”将改变什么

热门文章

  1. cp复制多个文件到指定目录
  2. Bootstrap 下拉菜单事件
  3. 拷贝sys文件到另一个服务器,服务器文件拷贝到其他服务器
  4. java pdf 转txt文件怎么打开_使用iText将TXT文件转换为PDF(保留格式)
  5. 计算机编程关键字一,和计算机编程有关的101条伟大的名言
  6. Pthon入门--range()函数
  7. 博弈-巴什博奕-P/N图
  8. b站学python_Python爬虫学习教程 bilibili网站视频爬取!【附源码】
  9. 机器学习——基于OpenCV和Python的智能图像处理(一)
  10. bzoj 3436: 小K的农场(差分约束)