一、Swift简介

○ 2010年的夏天, 苹果公司的开发人员Chris Latten接到了一个特别的任务, 为OS X 和iOS平台开发下一代编程语言, 也就是Swift.

○ 苹果公司于2014年WWDC(苹果开发者大会) 发布的新开发语言Swift, 可与Objective-C共同运行于Mac OS和iOS平台, 用于搭建基于苹果平台的应用程序

○ 2015年的WWDC开发者大会上, 苹果公司推出了Swift2.0版本, 并且Swift完全开源

二、基本语法

  

//Swift中导入类库使用import, 不再使用<>或者""了
import Foundation //Swift中的输出语句:print
print("Hello, World!") //MARK: - 定义常量、变量 //定义常量 (使用完第一次就不能修改值)
let myGender = "女"
//myGender = "男" //定义变量
var carName = "BMW"
carName = "Audi"
print(carName) //MARK: - 定义常量变量: 变量类型的隐式转换 //在swift中如果定义常量变量不给定相关的类型, 它会隐式转换成给定的初值类型
let name = "Jack" //如果这样定义出来一个常量, 它会隐式转换成String类型 let name1 : String = "Rose" //如果给定类型,后边赋值的时候需要根据类型进行赋值 let age : Int = 18 //如果定义常量最好给出初始化, 定义变量可以不给初始值 var age1 : Int? //?表示age1的类型
print(age1) //定义一个字符类型的变量
var char : Character = "A" //赋值字符类型的时候 仅需一个字母即可
//定义一个bool类型的变量 [在swift中bool类型的变量只有true活着false]
var flag : Bool = false //MARK: - 字符串string
//(1)创建一个空的字符串
var str_empty = ""
var str1_empty = String() //(2)判断一个字符串为空字符串
if str_empty.isEmpty {
print("str_empty is empty")
} //(3)字符串的拼接
var str_url = "http://"
var str = "www.baidu.com" let str_new_url = str_url + str
print(str_new_url)
print("百度网址:\(str_new_url)\n") // \(变量名)输出相关的内容[插入式取值] //(4)获取字符串的长度
var str1: String = "dag"
print(str1.characters.count) //(5)字符串的比较
var str2 = "MBBoy"
var str3 = "GBLW" if str2 != str3 { // ==
print("两个字符串不相等")
} //MARK: - 数组
//Swift数组中的元素类型必须相同 //定义一个数组
var nameArray = ["yuanyuan", "GBLW", "WYW", ]
print(nameArray) var nameArray1 : Array<String> = ["YaQian", "XQ", "FatZhou"] //定义一个空数组 (字符串)
let array = Array<String>()
print(array) //访问数组中的元素
print(nameArray[1]) //向数组中添加元素
var int_array = Array<Int>()
int_array.append(520)
int_array.append(123)
print(int_array) //使用运算符添加数组元素
int_array += [100]
int_array += [120] print(int_array) //使用运算符添加多个数组元素
int_array += [800, 900, 55]
print(int_array) //插入元素到具体的位置
int_array.insert(521, atIndex: 1)
print(int_array) //移除某个元素
int_array.removeAtIndex(4)
print(int_array) //移除所有元素
int_array.removeAll()
print(int_array) //MARK: - 字典 //定义一个字典类型的变量
var dic : Dictionary<String, Int> = ["a":18, "b":69, "c":38]
print(dic) //定义空字典
var dic1 : Dictionary<String, Int> = [:]
var dic2 = Dictionary<String, Int>() //往字典里赋值
dic["d"] = 50
print(dic) //修改字典中的内容 (根据键值修改)
dic["a"] = 90
print(dic["a"]) //删除字典中的内容 (根据键值去删除)
dic.removeValueForKey("b")
print(dic) //MARK: - 元组
//定义一个元组 //方法一:直接初始化一个元素 (使用swift隐式转换的特点)
let tuples = ("蓝鸥1班", ["iOS", "html5", "Android"])
print(tuples) //方法二:显式初始化的方式
let tuplesNew : (String,Array) = ("蓝鸥8班", ["iOS", "html5", "Android"])
print(tuplesNew) //取出元组
//第一种取值方式:直接把元组赋值给另外一个常量, 根据相关标记进行取值
let tuplesNew1 : (classroom:String, course:Array) = tuplesNew
var classInfo = tuplesNew1.classroom + tuplesNew1.course[0] + tuplesNew1.course[1] + tuplesNew1.course[2]
print(classInfo) //第二种方式:直接根据下标取值
var classInfoNew = tuplesNew1.0 + tuplesNew1.1[0] + tuplesNew1.1[1] + tuplesNew1.1[2]
print(classInfoNew) //MARK: - 循环
//第一种形式:
for var i = 1;i < 10;i++ {
print(i)
} //第二种形式:
for number in 1..<10 {
print(number)
} //第三种形式
for number in 1...10 {
print(number)
} //while循环和repeat...while
var i = 8
while i > 0 {
i--
print(i)
} repeat { //先执行一次循环体, 再进行相关的循环
print("我爱你们")
}while 1 < 0 //使用循环遍历数组
var animalArray = ["阿福", "pig", "cat", "tiger", "fish"]
for animal in animalArray {
print(animal)
} //使用循环遍历字典
var animalDic = ["dog":"

iOS---初识Swift(一)的更多相关文章

  1. iOS、swift、React Native学习常用的社区、论坛

    <!----iOS> <!----Swift>*IOS开发常用社区:http://code4app.com/ *IOS开发常用社区:http://www.cocoachina. ...

  2. iOS开发Swift篇—(一)简单介绍

    iOS开发Swift篇—简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C ...

  3. iOS开发Swift篇—(二)变量和常量

    iOS开发Swift篇—(二)变量和常量 一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 ...

  4. iOS开发Swift篇—(三)字符串和数据类型

    iOS开发Swift篇—(三)字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www ...

  5. iOS开发Swift篇—(四)运算符

    iOS开发Swift篇—(四)运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符: ...

  6. iOS开发Swift篇—(五)元组类型

    iOS开发Swift篇—(五)元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let posit ...

  7. iOS开发Swift篇—(六)流程控制

    iOS开发Swift篇—(六)流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这 ...

  8. iOS开发Swift篇—(七)函数(1)

    iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...

  9. iOS开发Swift篇—(八)函数(2)

    iOS开发Swift篇—(八)函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 func sum(num1: Int ...

  10. iOS开发Swift篇—(九)属性

    iOS开发Swift篇—(九)属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个. ...

随机推荐

  1. springmvc接收JSON类型的数据

    1.在使用AJAX传递JSON数据的时候要将contentType的类型设置为"application/json",否则的话会提示415错误 2.传递的data需要时JSON类型的 ...

  2. Php中的强制转换详解

    强制转换中分为两种,第一种就只临时转换,和永久转换.在临时转换中呢,首先可以通过第一中方式来显示,就是小括号的形式,临时转换成整型我们可以通过(int)都是这样的形式,或者是(integer)临时转换 ...

  3. matlab 视频转换到图像并保存

    图像处理中像Adas.车辆检测等都需要采用视频文件比较好处理一点,利用帧差法.背景减法.光流法等,那么将视频文件转换到图像文件怎么做呢?话不多说,见代码一目了然: %================= ...

  4. USR-BLE101配置

    新买来的模块,默认为slave模式,波特率57600,8位数据位,无检验位,1位停止位. 发送+++a,进入命令模式. 1.设置模块名称 AT+NAME=BT_Shining 2.设置发射功率(最大功 ...

  5. iOS TextField用法大全

    //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, ...

  6. linux 记录用户操作记录日志

    ####################################################################################historyUSER_IP=$ ...

  7. 为大型网站提速—redis

    一.数据库 1.关系型数据库:Mysql,sqlserver,oracle 2.非关系型数据库(nosql):key-value存储数据库(redis) 列表存储数据库 文档型数据库(MongoDb) ...

  8. chrome经常崩溃解决过程

    之前chrome常崩溃,也没有找到原因,就将就着用吧,一直用到今天,今天连续几次崩了,突然想到,难道是因为我访问的域名没有解析(能想到这个,是因为今天分配公司域名测试的时候常输错),于是就输入一个不存 ...

  9. JavaScipt 事件体系

    事件机制 jQuery对事件的绑定分别有几个API .bind()/.live()/.delegate()/.on() 不管是用什么方式绑定,归根到底还是用addEventListener/attac ...

  10. FPGA 相同模块 VIVADO synthesis综合后

    显示所用的LUT as Memory结果不一致可能是什么原因导致的?