Swift1
2015-09-01 21:32
267 查看
一、 简介
Swift是苹果于WWDC2014发布的编程语言,需要聊得一下Brec Victor的Inventing on Principle,Swift编程环境大部分概念都源自于Brec这个演讲。
Swift主要是用来干嘛的呢?
Swift用来写ios和os x程序;
Swift吸取了C和Objective-C的优点,且更加强大易用,特别注意一点,在写Swift语言的时候,可以不用在加“;”了,当然加上也可以。
Swift可以使用现有的Cocoa和Cocoa Touch框架;
Swift兼具编译语言的高性能和脚本语言的交互性;
学习Swift可以参照The Swift Programming Language这本官方参考书。
二、Swift基础知识
//MARK:–常量,变量
//MARK:–注释,分号
//MARK:–基本数据类型
//MARK:—字符串
//MARK:—数组,字典
//swift的数组和字典中存的数据类型必须明确,不一定是class类,也可以是INT但是在创建数组前必须定义好是存那种数据类型,里面也只能存那种类型,当然也可以倒推。
//数组
//字典:swift中字典可以存储的键和值必须提前定义清楚,也可以倒推
//MARK:—for循环
//for in :遍历一个区间,序列,集合。。。
//for- condition- increment
//for条件递增:不需要使用圆括号
//MARK:–条件语句
//MARK:—函数
Swift是苹果于WWDC2014发布的编程语言,需要聊得一下Brec Victor的Inventing on Principle,Swift编程环境大部分概念都源自于Brec这个演讲。
Swift主要是用来干嘛的呢?
Swift用来写ios和os x程序;
Swift吸取了C和Objective-C的优点,且更加强大易用,特别注意一点,在写Swift语言的时候,可以不用在加“;”了,当然加上也可以。
Swift可以使用现有的Cocoa和Cocoa Touch框架;
Swift兼具编译语言的高性能和脚本语言的交互性;
学习Swift可以参照The Swift Programming Language这本官方参考书。
下面我们来创建一个swift工程,具体了解swift知识。。。
二、Swift基础知识
//MARK:–常量,变量
let a = 10 var b = 20 let c = 10, d = 20, e = 30 b = 30//右推导型,根据后面的来确定变量的类型(类型推断,类型安全) //b = 29.4 错误 /*常量和变量的命名更加自由,可以用字符,其他不行*/ let 你好 = "你好阳光" let �� = "你是猪吗?" var �� = "小绵羊" /*输出常量变量*/ print(��) print(你好) print(��) print("猪变量输出来的是:\(��)")//模仿站位符
//MARK:–注释,分号
//单行注释:// //多行注释: /* 多行注释 /* 多行注释 */ */ //swift不强制要求加‘;’ let cat = "��";print(cat)//一行内有多条语句必须加‘;’
//MARK:–基本数据类型
//int, double, var temp: Int = 20 let flag: Bool = true//Bool--true,false //元祖:把多个值组合成一个复合值,元祖内的值可以是任意类型,并不要求是相同类型,有点想结构体 let dog = (101, "dog1") //元祖取值 print(dog.0); //如果不需要名称用“_”代替 let (number, _) = (102, "dog2") print(number) //完整版 let person = (number: 100,name: "zhangsan") print(person.name)
//MARK:—字符串
//初始化 var string: String = "hello" var temp1: Character = "a"//只有一个是字符,多个是字符串 //长度 let length = string.characters.count print(length) //拼接 let string1: String = string + "wor\(string)ld" print(string1) var string2: String = "123" string2 += "567"//+= 前提:必须初始化 print("strings = \(string2)") string2 .append(temp1); //转型 var objectString = NSMutableString(string: string2) //插入 objectString .insertString("00", atIndex: 0) //查找 //objectString .hasPrefix(<#aString: String#>) //移除 //objectString .removeValueAtIndex(<#index: Int#>, fromPropertyWithKey: <#String#>) //截取 //objectString .substringFromIndex(<#from: Int#>) //等等
//MARK:—数组,字典
//swift的数组和字典中存的数据类型必须明确,不一定是class类,也可以是INT但是在创建数组前必须定义好是存那种数据类型,里面也只能存那种类型,当然也可以倒推。
//数组
//定义和初始化 var shoppingList: [String] = ["eggs", "milks"] //var array1 = [1, 2, 3, 4] //访问 var firstItem = shoppingList[0]; print("firstItem = \(firstItem)") //长度 let index: Int = shoppingList.count; print("index = \(index)"); //添加 var newShopping = shoppingList + ["rich","clothes"] print(newShopping) //插入 shoppingList.insert("yes", atIndex: 0) print("insert:\(shoppingList)") //移除 shoppingList.removeAtIndex(2); print("remove:\(shoppingList)"); //数组的遍历 for item11 in newShopping{ print(item11); } for (index, value) in shoppingList.enumerate(){ print("item\(index + 1):\(value)") }
//字典:swift中字典可以存储的键和值必须提前定义清楚,也可以倒推
//定义和初始化 var numbers: [String: String] = ["1" : "one", "2" : "two"]; var numbers2 = [3: "three", 4: "four"]; //添加 numbers["7"] = "add"; //通过key改变啊 numbers["8"] = "change" //字典的遍历 for(key, value) in numbers{ print("\(key): \(value)"); } //单独取出key,value for keys in numbers.keys { print("keys = \(keys)") } for values in numbers.values{ print("values = \(values)") } let keycode = [String](numbers.keys); print("code is \(keycode)"); let valueNames = [String](numbers.values); print("valueNames is \(valueNames)")
//MARK:—for循环
//for in :遍历一个区间,序列,集合。。。
//for- condition- increment
//遍历所有元素:(...)闭区间操作符 for numberIndex in 1...5{ print("\(numberIndex) 乘以 5 是 \(numberIndex * 5)") } //请同学们在写下遍历数组字典 let arr = [1,2,3] for arrnumber in arr{ print("arrnumber = \(arrnumber)") } let animals = ["1": "one", "2": "two"] for (animalskey, animalsvalue) in animals{ print("keya:\(animalskey),valuea:\(animalsvalue)"); }
//for条件递增:不需要使用圆括号
//for var index = 0; index < 3; ++index{ // // print("index for:\(index)") //} var index: Int; for index = 0; index < 3; ++index{ print("index for:\(index)") }
//MARK:–条件语句
//swift:if,switch,条件简单,if,switch适用于条件较复杂的情况 //if let a = 10 if (a < 20) { print("这是真的,a = \(a)") } //switch:swift里面break是默认不写的,当然你写了也没问题, //要求每一个case分支都必须包含至少一条语句 //fallthrough:可以让其继续往下执行 //case:后面的常量可以匹配多个 //区间匹配:case: 1...3 let a1 = 1 switch a1 { case 1: print("ff1") fallthrough //继续往下执行 // break //可以不写break case 2: print("ff2") // break default: print("ffelse") } let someCharater: Character = "e" switch someCharater { case "a", "b", "e": print("a,b,e范围内") case "g", "t", "y": print("g,t,y范围内") default: print("no anyone") }
//MARK:—函数
//函数用来完成特定任务的代码块 //swift 的函数语法足够灵活,尅用来表示任何函数,c,oc,在swift中,每个函数都有一种类型,包括函数的参数值类型和返回值类。你可以将函数类型当做任何其他普通变量类型一样处理。 //函数的定义 //前缀 函数名 参数名 参数类型 ->指定函数返回类型 func sayHello(personName: String) ->String{ let greeting = "hello," + personName + "!" return greeting; } //函数调用 print(sayHello("tony")) //无参数有返回值 func sayHelloWorld() ->String{ return "hello world!" } print(sayHelloWorld()); //有参数无返回值 func sayGoodbye(personName: String){ print("goodbye,\(personName)!") } sayGoodbye("Dave") //带一个参数的函数,无返回值 func maxOfValue1(one a:Int) { print(a) } maxOfValue1(one: 12) //带多个参数函数,有返回值 func maxOfValue(a: Int,b: Int) -> Int { return a > b ? a : b } let result = maxOfValue(11, b: 20) print(result) //返回多个值,元组:(元素1,元素2...) func changeNumbers(num1:Int, num2:Int) ->(num1:Int, num2:Int) { return (num1*2, num2*2) } print(changeNumbers(1, num2: 2))
相关文章推荐
- 初步swift语言学习笔记2(可选类型?和隐式可选类型!)
- Swift Tutorial(swift 教程) 4:Your First App
- swift开发
- swift 总结3
- 女神画廊App (Swift1.2)
- swift总结2
- 最老程序员创业开发实训5---Swift语言极速入门
- 相亲神器记录Swift1.2
- swift总结1
- swift自学注意点
- swift 中#pragma mark 表示方法
- swift详解之二十--------在xcode中使用git管理源代码,将代码提交到github
- swift 添加按钮
- swift - The Chain Responsibility pattern
- swift详解之十九--------------UITableView的基本操作(下拉刷新,新增删除,分组,检索等)
- IOS--Swift 01
- Swift UILabel 文字大小随着宽度调整
- Swift UILabel常用功能
- Swift子类初始化函数中调用父类初始化函数的正确位置
- swift 创建单例模式