swift语言

Swift 基本语法1

跟風遠走 提交于 2019-12-22 14:07:13
一、Swift简介 2010年的夏天,苹果公司的开发人员Chris Lattne接到了一个特别的任务,为OS X 和iOS平台开发下一代的编程语言,也就是Swift。 苹果公司于2014年WWDC(苹果开发者大会)发布的新开发语言Swift,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。 2015年的WWDC开发者大会上,苹果公司推出了Swift2.0版本,并且Swfit完全开源。 自从Swift发布以来,在http://www.tiobe.com中的排行一直处于上升的状态。 二、声明变量和常量 在Swift中使用“let”修饰一个常量,使用“var”修饰一个变量; let修饰常量的值是不可以更改的; var修饰的变量的值是可以更改的; 在声明常量和变量的时候可以使用表情符号、中文等命名常量名和变量名。 Swift里不会自动给常量变量赋初始值,也就是说常量变量不会有默认值,所以定义常量的时候一定要给定初始值 Swift定义变量或者常量的时候,需要标识出变量或者常量的类型,如果不标识,会根据初始值自动推断。 因为swift是强类型语言,所以不同类型的变量不能相加,如果想要相加,可以强制类型转换 1、声明常量变量 1 // MARK: - 定义常量变量:变量类型的隐式转换 2 3 // 在Swift中如果不给定变量常量的类型

apple Swift语言新手教程

旧巷老猫 提交于 2019-12-18 00:39:56
Apple Swift编程语言新手教程 文件夹 1 简单介绍 2 Swift入门 3 简单值 4 控制流 5 函数与闭包 6 对象与类 7 枚举与结构 1 简单介绍 今天凌晨Apple刚刚公布了Swift编程语言,本文从其公布的书籍《The Swift ProgrammingLanguage》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。 Swift是供iOS和OS X应用编程的新编程语言。基于C和Objective-C。而却没有C的一些兼容约束。Swift採用了安全的编程模式和加入现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架。展示了软件开发的新方向。 Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。通过ARC(Automatic Reference Counting。自己主动引用计数)来简化内存管理。 我们的框架栈则一直基于Cocoa。Objective-C进化支持了块、collection literal和模块。同意现代语言的框架无需深入就可以使用。(by gashero)感谢这些基础工作,才使得能够在Apple软件开发中引入新的编程语言。 Objective-C开发人员会感到Swift的似曾相识。Swift採用了Objective

Swift百万线程攻破单例(Singleton)模式

守給你的承諾、 提交于 2019-12-17 14:34:27
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { class var shared: SwiftSingleton { if !Inner.instance { Inner.instance = SwiftSingleton() } return Inner.instance! } struct Inner { static var instance: SwiftSingleton? } } 这段代码的实现,在shared中进行条件判断,如果Inner.instance.为空就生成一个实例,这段代码很简单看出当线程同时访问SwiftSingleton.shared方法时,会有如下问题出现,线程A判断Inner.instance为空,进入if语句后立即切换到线程B执行,线程B也进行判断,由于线程A只是进入了if语句,这行代码 Inner.instance = SwiftSingleton() 并没有执行,这时Inner.instance还是为空,纯种B也进行了if语句,这种情况下就会创建多个实例,没有保证实例的唯一性。上面的理论分析基本上任何一篇文章都会讲的,也不能理解,关键问题

杂项-语言-Swift:Swift

为君一笑 提交于 2019-12-16 15:21:08
ylbtech-杂项-语言-Swift:Swift Swift,苹果于2014年 WWDC (苹果开发者大会)发布的新开发语言,可与 Objective-C *共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。 Swift是一款 易学易用 的编程语言,而且它还是 第一套具有与脚本语言 同样的 表现力和趣味性 的系统编程语言。Swift的 设计以安全为出发点 , 以避免各种常见的编程错误类别 。 2015年12月4日, 苹果 公司宣布其Swift编程语言现在 开放源代码 。长600多页的 The Swift Programming Language 可以在线免费下载。 1. 返回顶部 1、 中文名:雨燕 外文名:Swift 发布时间:2014年6月2日 发行组织:Apple 源 于:Objective-C 系 统:macOS, iOS , linux 参考语言:C、 JavaScript、Python 、Java 目录 1 发展历史 2 应用范围 ▪ 操作优点 ▪ 应用优势 3 示例程序 4 主要功能 ▪ 语法简便 ▪ 其他功能 ▪ 互动游乐 ▪ REPL ▪ 专为安全 ▪ 高效强大 5 学习入门 ▪ Hello world ▪ 简单值 ▪ 控制流 ▪ 函数闭包 ▪ 对象和类 ▪ 枚举 ▪ 接口扩展 ▪ 泛型 2、 2. 返回顶部 3. 返回顶部 4.

Swift编程高级教程

爱⌒轻易说出口 提交于 2019-12-15 20:38:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 常量与变量 常量和变量是某个特定类型的值的名字,如果在程序运行时值不能被修改的是一个常量,反之是一个变量。 常量和变量的声明 Swift中的常量和变量在使用前必须先声明。其中let关键字声明常量,var关键字声明变量: //声明一个名为maximumNumberOfLoginAttempts的整型常量,并且值为10 let maximumNumberOfLoginAttempts = 10 //声明一个名为currentLoginAttempt的整型变量,并且值为0 var currentLoginAttempt = 0 可以在同一行声明多个变量,中间用逗号,隔开: var x = 0.0 , y = 0.0 , z = 0.0 提示 如果在程序运行的时候值不需要发生改变,应该将它们声明为常量,否则声明为变量 变量的值可以进行修改: var friendlyWelcome = "Hello!" friendlyWelcome = "Bonjour!" //friendlyWelcome的值发生改变 常量的值一旦设置后就不能在修改: let languageName = "Swift" languageName = "Swift++" //编译时出错 类型说明 在Swift中声明常量或者变量可以在后面用冒号

Swift 项目中可能用到的第三方框架

和自甴很熟 提交于 2019-12-13 11:13:32
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 下拉刷新 BreakOutToRefresh 一个下拉刷新打砖块的swift库 SDRefreshView 简单易用的上拉和下拉刷新 ZLSwiftRefresh - 下拉刷新/上拉加载更多,支持自定义动画,集成简单 GearRefreshControl - 一个非常精细的下拉刷新 做的很细心 refresher - 简洁清爽的下拉刷新 PullToBounce - 弹性动画 非常炫酷的下拉刷新 RCTRefreshControl qq的橡皮糖下拉刷新 PullToRefresh 刷新动画可定制的下拉数据请求更新组件 MLSwiftBasic 集合自定义导航栏、下拉刷新/上拉加载更多、视觉效果、好用分类等等一系列,却耦合性很低的Swift库! 图片选择、浏览 (这部分swift库真少呀 欢迎知道的补充) PhotoBrowser-swift 图片浏览 PhotoPicker swift图片选择 BSImagePicker 这个图片选择 不错,oc和swift都有 真贴心呀 KYElegantPhotoGallery - 一个优雅的图片浏览库(可惜OC写的呀。。。。) CocoaPicker - 仿 QQ 图片选择器(非swift-_-)。 网络部分 Alamofire 著名的 AFNetworking 络基础库

[绍棠] swift for 循环

冷暖自知 提交于 2019-12-11 05:11:13
在swift 4.2 中已经舍弃了传统的C语言的for;;循环,替换成更能符合本身语言特性的新形式。 第一种 for - in 这一种是最常用的,可以遍历所有的集合类。如下: func testFor(){ let list = [1,2,3,4]; for idx in list { print("idx =\(idx)"); } let dict = ["a":1,"b":2,"c":3]; for item in dict { print("item = \(item)"); } } 在控制台输出如下: idx =1 idx =2 idx =3 idx =4 item = (key: "a", value: 1) item = (key: "c", value: 3) item = (key: "b", value: 2) 当遍历字典的时候,会自动转换成 元组 ,包含了key和value,我们也可以自己来通过写一个元组来接收如下: let dict = ["a":1,"b":2,"c":3]; for (key,value) in dict { print("key: \(key) value : \(value) "); } 还有一种区间遍历如下: for idx in 0...3 { print("idx =\(idx)"); } 对于这种遍历是swift一个特性,0..

swift 流程控制

寵の児 提交于 2019-12-10 09:25:32
swift 流程控制 // // main. swift // swift 流程控制 // // Created by zhangbiao on 14-6-13. // Copyright (c) 2014 年 理想 . All rights reserved. // import Foundation // swift 流程控制 /* swift 流程控制主要分为 : 顺序 分支 循环 1. 顺序:从上到下依次执行,遇到函数调用,调用完毕函数继续执行 2. 分支 : 根据分支条件进行分支 ( 1 ) if{} else{} ( 2 ) switch {case:...} 3. 循环 : 循环执行,遇到结束条件 ( 1 ) while 和 do{} while ( 2 ) for in 和 for(){} 4. 循环分支中,控制流程的四个关键字 continue break fallthrough return (多用于函数中) 相关说明 */ func testfunc() { //1. 顺序(略) --------------------------------------------------------------------------------------- //2. 分支 ----------------------------------------------

Swift 中的利刃,函数和闭包

不问归期 提交于 2019-12-06 22:14:00
Swift 中的利刃,函数和闭包 关于闭包的概念,相信有过其他语言开发经验的朋友都不会陌生了。简单来说 闭包 的语言特性,大大增加了我们的开发效率。而 Swift 更是将闭包运用的游刃有余,仿佛为它而生。下面咱们进入正题。 Swift 中闭包的概念就像是 Objective-C 中的 block 。 闭包 可以嵌套和作为参数传递。 在 Swift 中, 函数 也只不过是一种特殊的 闭包 。 定义函数 Swift 中 可以使用 func 关键字来定义函数。函数可以接收并返回一个或者多个参数和元组。 返回值跟随在 -> 符号后。 func sayHello(firstName: String, lastName: String) -> String { return "Hello \\(lastName) \\(firstName)" } 调用函数 prinln(sayHello("John", "Smith")) //"Hello Smith John" 函数的类型 每个函数都有它自己的 函数类型 ,通过它的参数和返回值来确定。比如这个函数: func add(left: Int, right:Int) -> Int { return left + right } 它的函数类型为: (Int, Int) -> (Int) 我们刚刚了解了函数类型的概念

Swift 中的利刃,函数和闭包

对着背影说爱祢 提交于 2019-12-06 22:13:44
Swift 中的利刃,函数和闭包 关于闭包的概念,相信有过其他语言开发经验的朋友都不会陌生了。简单来说 闭包 的语言特性,大大增加了我们的开发效率。而 Swift 更是将闭包运用的游刃有余,仿佛为它而生。下面咱们进入正题。 Swift 中闭包的概念就像是 Objective-C 中的 block 。 闭包 可以嵌套和作为参数传递。 在 Swift 中, 函数 也只不过是一种特殊的 闭包 。 定义函数 Swift 中 可以使用 func 关键字来定义函数。函数可以接收并返回一个或者多个参数和元组。 返回值跟随在 -> 符号后。 func sayHello(firstName: String, lastName: String) -> String { return "Hello \\(lastName) \\(firstName)" } 调用函数 prinln(sayHello("John", "Smith")) //"Hello Smith John" 函数的类型 每个函数都有它自己的 函数类型 ,通过它的参数和返回值来确定。比如这个函数: func add(left: Int, right:Int) -> Int { return left + right } 它的函数类型为: (Int, Int) -> (Int) 我们刚刚了解了函数类型的概念