iOS开发零基础--Swift篇 循环】的更多相关文章

循环的介绍 在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见 for循环的写法 最常规写法 // 传统写法 for var i = 0; i < 10; i++ { print(i) } 区间for循环 for i in 0..<10 { print(i) } for i in 0...10 { print(i) } 特殊写法 如果在for循环中不需要用到下标i for _ in 0..<10 {…
元组的介绍 元组是Swift中特有的,OC中并没有相关类型 它是什么呢? 它是一种数据结构,在数学中应用广泛 类似于数组或者字典 可以用于定义一组数据 组成元组类型的数据可以称为“元素” 元组的定义 元组的常见写法 // 使用元组描述一个人的信息 ("1001", "张三", 30, 90) // 给元素加上元素名称,之后可以通过元素名称访问元素 (id:"1001", name:"张三", english_score:30,…
一. 分支的介绍 分支即if/switch/三目运算符等判断语句 通过分支语句可以控制程序的执行流程 二. if分支语句 和OC中if语句有一定的区别 判断句可以不加() 在Swift的判断句中必须有明确的真假 不再有非0即真 必须有明确的Bool值 Bool有两个取值:false/true // 演练一: let a = 10 // 错误写法: //if a { // print("a") //} // 正确写法 if a > 9 { print(a) } // 演练二: le…
Swift类型的介绍 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 : 有符号32位整型 Int64 : 有符号64位整型 Int : 和平台相关(默认,相当于OC的NSInteger) 无符号 UInt8 : 无符号8位整型 UInt16 : 无符号16位整型 UInt32 : 无符号32位整型 UInt64 : 无符号64位整型 UInt : 和平台相关(常用,…
什么是常量和变量 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改 常量和变量的使用注意: 注意: 在真实使用过程中,建议先定义常量,如果需要修改再修改为变量(更加安全) 是指向的对象不可以再进行修改.但是可以通过指针获得对象后,修改对象内部的属性 / 注意:声明为常量不可以修改的意思是指针不可以再指向其他对象.但是可以通过指针拿到对象,修改其中的属性 // view : UIView…
可选类型的介绍 注意: 可选类型时swift中较难理解的一个知识点 暂时先了解,多利用Xcode的提示来使用 随着学习的深入,慢慢理解其中的原理和好处 概念: 在OC开发中,如果一个变量暂停不使用,可以赋值为0(基本属性类型)或者赋值为空(对象类型) 在swift开发中,nil也是一个特殊的类型.因为和真实的类型不匹配是不能赋值的(swift是强类型语言) 但是开发中赋值nil,在所难免.因此推出了可选类型 可选类型的取值: 空值 有值 定义可选类型 定义一个可选类型有两种写法 最基本的写法 语…
字符串的介绍 字符串在任何的开发中使用都是非常频繁的 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" 使用 String 的原因 String 是一个结构体,性能更高 NSString 是一个 OC 对象,性能略差 String 支持直接遍历 Swift 提供了 String 和 NSString 之间的无缝转换 字符的定义 定义不可变字符串 let str =…
字典的介绍 字典允许按照某个键来访问元素 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的 Swift中的字典 Swift字典类型是Dictionary,也是一个泛型集合 字典的初始化 Swift中的可变和不可变字典 使用let修饰的数组是不可变字典 使用var修饰的数组是可变字典 // 定义一个可变字典 var dict1 : [String : NSObject] = [String : NSOb…
数组的介绍 数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化 数组分成:可变数组和不可变数组 使用let修饰的数组是不可变数组 使用var修饰的数组是可变数组 // 定义一个可变数组,必须初始化才能使用 var array1 : [String] = [String]() // 定义一个不可变数组 let array2 : [NSObject] = ["why"…
常见的类型转化符号 is : 用于判断一个实例是否是某一种类型 as : 将实例转成某一种类型 例子 // 1.定义数组 let array : [AnyObject] = [12, "why", 1.88] // 2.取出数组中的第一个元素 let objc = array.first! // 3.判断第一个元素是否是一个Int类型 if objc is Int { print("是Int类型") } else { print("非Int类型"…
Swift 2.0 异常处理 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主要围绕这个方面进行讨论. 如何建造异常类型? 在 iOS 开发当中,我们会面对很多异常处理.在 Cocoa Touch 中我们使用 NSError 来进行异常处理.在新的 Swift 2.0 中,我们可以使用新的 ErrorType protocol. 在 Swift 中, enum 是最好的方法建立属于你自己的异常类型,你只要在你的 enum 中确…
swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活! 2015年6月9日苹果又一次给所有开发之者带来了一个惊喜,那就是今年年底swift讲开源,者队iOS开发着来说无疑是一个值得兴奋的消息,可是就在这短短的几个月里面swift吸引了越来越多的开发者去学习,不仅仅是iOS开发者. 然而,在我们学习和使用swi…
Alamofire详解 预览图 Swift Alamofire 简介 Alamofire是 Swift 语言的 HTTP 网络开发工具包,相当于Swift实现AFNetworking版本. 当然,AFNetworking非常稳定,在Mac OSX与iOS中也能像其他Objective-C代码一样用Swift编写.不过Alamofire更适合Swift语言风格习惯(Alamofire与AFNetworking可以共存一个项目中,互不影响). Alamofire 取名来源于Alamo Fire fl…
CAShapeLayer实现圆形图片加载动画 几个星期之前,Michael Villar在Motion试验中创建一个非常有趣的加载动画. 下面的GIF图片展示这个加载动画,它将一个圆形进度指示器和圆形渐现动画结合.这个组合的效果有趣,独一无二和有点迷人. 这个教程将会教你如何使用Swift和Core Animatoin来重新创建这个效果.让我们开始吧! 基础 首先下载这个教程的启动项目,然后编译和运行.过一会之后,你应该看到一个简单的image显示: 这 个启动项目已经预先在恰当的位置将view…
swift常用开发技术总结 懒加载:属性,数组(字典),控件... 数组(懒加载): lazy var shops:Array<Dictionary<String, String>> = { return [ [ "icon" : "danjianbao", "name" : "单肩包" ], [ "icon" : "liantiaobao", "nam…
SwiftyJSON详解 最近看了一些网络请求的例子,发现Swift在解析JSON数据时特别别扭,总是要写一大堆的downcast(as?)和可选(Optional),看?号都看花了.随后发现了这个库SwiftyJSON,问题迎刃而解,灰常优雅和Swifty! 简单介绍下这个库(内容译自SwiftyJSON的README): 为什么典型的在Swift中处理JSON的方法不好? Swift语言是一种严格的类型安全语言,它要求我们显示的设置类型,并帮助我们写出更少bug的代码.但是当处理JSON这种…
//返回按钮事件 @IBAction func backButtonClick() { self.navigationController?.popViewControllerAnimated(true) } //新增联系人 @IBAction func addPeople () { //取得电话薄句柄 var error:Unmanaged<CFError>? var addressBook: ABAddressBookRef? = ABAddressBookCreateWithOption…
播放MP3 // MARK: - 播放MP3 /*----- mp3 ------*/ //定时器- func updateTime() { //获取音频播放器播放的进度,单位秒 var cuTime:Float = Float(audioPlayer.currentTime) //更新进度条 jinDuSlider.value = cuTime //获取总时间 var duTime:Float = Float(audioPlayer.duration) //播放时间秒数,换算成:时.分.秒 v…
SQLite3 使用 //******************** 5.3 SQLite3存储和读取数据 func use_SQLite3() { //声明一个Documents下的路径 var dbPath = NSHomeDirectory() + "/Documents/SwiftClassDB.sqlite" //判断数据库文件是否存在 if !NSFileManager.defaultManager().fileExistsAtPath(dbPath) { //获取安装包内数…
沙盒文件 //******************** 5.2 文件操作 func use_FileOperations() { //1.获取程序的Home目录 let homeDirectory = NSHomeDirectory() println(homeDirectory) //2.获取Documents目录 let documentPaths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDire…
文件目录路径获取(Home目录,文档目录,缓存目录等)   iOS应用程序只能在自己的目录下进行文件的操作,不可以访问其他的存储空间,此区域被称为沙盒.下面介绍常用的程序文件夹目录:   1,Home目录  ./ 整个应用程序各文档所在的目录   let homeDirectory = NSHomeDirectory()    2,Documnets目录  ./Documents 用户文档目录,苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目…
使用Core Data进行数据持久化存储   一,Core Data介绍 1,Core Data是iOS5之后才出现的一个数据持久化存储框架,它提供了对象-关系映射(ORM)的功能,即能够将对象转化成数据,也能够将保存在数据库中的数据还原成对象. 2,虽然其底层也是由类似于SQL的技术来实现,但我们不需要编写任何SQL语句,有点像Java开发中的Hibernate持久化框架 3,Core Data数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型. 4,与SQ…
将Ojective-C代码移植转换为Swift代码 2015-03-09 15:07发布:yuhang浏览:201   相比于Objective-C,Swift语言更加简练.有时我们需要把原来写的一些Objective-C代码转换成Swift,下面总结了各种常见的情况.   1,构造函数的迁移 Objective-C为:   HanggeMenuItem *starMenuItem1 =     Swift:   var starMenuItem1 = HanggeMenuItem(image:…
NSURLSession详解 // MARK: - /* 使用NSURLSessionDataTask加载数据 */ func sessionLoadData() { //创建NSURL对象 var url:NSURL! = NSURL(string: "http://m.weather.com.cn/data/101010100.html") //创建请求对象 var request : NSURLRequest = NSURLRequest(URL: url) let sessio…
iCloud云存储 import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() /** 1:可以存储两种 //IOS可识别的文档 //字典对象 */ // 2: Ubiquity Container............数据区域 /** 3: 分成多个文件小块 主动请求同步 */ //获取数据 var iCouldStore = NSUbiquit…
拍照 // MARK: - 拍照 func fromPhotograph() { if UIImagePickerController.isSourceTypeAvailable(.Camera) { //创建图片控制器 let picker = UIImagePickerController() //设置代理 picker.delegate = self //设置来源 picker.sourceType = UIImagePickerControllerSourceType.Camera //…
照片选择 // MARK: - 选择照片 /*----- 选择照片 ------*/ @IBAction func addImageButtonClick() { let actionSheet = UIActionSheet(title: "请选择", delegate: self, cancelButtonTitle: "取消", destructiveButtonTitle: nil, otherButtonTitles: "从相册选",&…
CAKeyframeAnimation //CAKeyframeAnimation-关键针动画 @IBAction func cakFly() { let animation = CAKeyframeAnimation(keyPath: "position") //设置5个位置点 let p1 = CGPointMake(0.0, 0.0) let p2 = CGPointMake(, 0.0) let p3 = CGPointMake(, 460.0) let p4 = CGPoin…
CABasicAnimation动画 //CABasicAnimation-不透明度 @IBAction func cabOpacity() { let animation = CABasicAnimation(keyPath: "opacity") animation!.fromValue = 1.0 animation!.toValue = 0.0 animation.duration = 3.0 self.testImageView.layer.addAnimation(anim…
CATransition动画 // MARK: - CATransition动画 // /* 动画样式 */ // let kCATransitionFade: NSString! //翻页 // let kCATransitionMoveIn: NSString! //弹出 // let kCATransitionPush: NSString! //推出 // let kCATransitionReveal: NSString! //移出 // // /* 动画执行的方向 */ // let…